🍋
Menu
Security

Checksum

校验和(数据完整性验证)

使用特定算法从数据块计算出的值,作为验证数据在存储或传输过程中未被损坏或篡改的指纹。

技术细节

校验和从简单(奇偶校验位、字节求和、CRC32)到密码学级别(MD5SHA-256)不等。CRC32(32 位循环冗余校验)速度快,能检测常见的传输错误,但不具备碰撞抗性。MD5 产生 128 位哈希,曾是标准但现已被认为在密码学上已被破解。SHA-256 提供强大的完整性保证。在实际中,软件下载提供 SHA-256 校验和供用户与本地计算结果进行对比。Web Crypto API 的 subtle.digest() 可在浏览器中计算密码学校验和。Adler-32(用于 zlib)在流数据验证中比 CRC32 更快。

示例

```javascript
// Checksum — 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('');
```

相关工具

相关术语