🍋
Menu
Security

SHA-256

SHA-256(256 位安全散列算法)

一种密码学哈希函数,能从任意输入生成固定的 256 位(32 字节)摘要,广泛用于数据完整性验证、数字签名、区块链和密码存储。

技术细节

SHA-256 属于由 NSA 设计的 SHA-2 系列,通过 64 轮位运算、模加和压缩函数处理 512 位数据块。输出为 64 个十六进制字符的字符串(256 位)。目前尚未发现 SHA-256 的实际碰撞(不同于 SHA-1MD5)。应用包括 Git 提交哈希、比特币挖矿(双重 SHA-256)、TLS 证书指纹和文件完整性校验(校验和)。Web Crypto API 的 subtle.digest('SHA-256', data) 提供原生浏览器支持。对于密码哈希,由于 bcryptArgon2 等专用函数具有刻意的计算开销,因此优于原始的 SHA-256。

示例

```javascript
// SHA-256 — Web Crypto API example
const data = new TextEncoder().encode('sensitive data');
const hash = await crypto.subtle.digest('SHA-256', data);
const hex = Array.from(new Uint8Array(hash))
  .map(b => b.toString(16).padStart(2, '0')).join('');
```

相关工具

相关术语