哈希与校验工具

MD5/SHA哈希、HMAC、IP/TCP/UDP校验和、Fletcher-16、Modbus CRC、LRC/BCC — 数据完整性校验工具箱

输入类型:
算法:
快捷:IP头示例
输入类型:
Fletcher-16 算法:sum1 = (sum1 + byte) mod 255,sum2 = (sum2 + sum1) mod 255,校验和 = (sum2 << 8) | sum1。常用于嵌入式协议和智能卡传输校验。

哈希与校验工具详解

本工具集成了加密哈希函数和通信校验算法两大类功能。加密哈希用于数据完整性和安全验证,通信校验用于传输错误检测。两者虽然都产生固定长度的校验值,但设计目标和应用场景完全不同。

加密哈希

支持 MD5(128 位)、SHA-1(160 位)、SHA-256(256 位)、SHA-512(512 位)和 SM3(256 位)五种算法。这些算法适用于数据完整性验证、文件指纹、密码存储和数字签名。MD5 和 SHA-1 已存在碰撞漏洞,不应用于安全关键场景。SHA-256 和 SM3 是当前推荐的算法。

HMAC 消息认证码

HMAC(Hash-based Message Authentication Code)是将哈希函数与密钥结合的消息认证方案。HMAC-MD5、HMAC-SHA1、HMAC-SHA256、HMAC-SHA512 分别基于对应的哈希算法。HMAC 在 GlobalPlatform SCP02 中用于命令认证,确保 APDU 命令在传输过程中未被篡改。HMAC 的安全性取决于底层哈希函数和密钥长度。

通信校验算法

通信校验算法设计目标是速度和错误检测能力,而非抗篡改——它们可以检测到随机传输错误,但无法抵抗恶意修改。对于安全场景(如防篡改),应使用加密哈希函数。在智能卡通信中,T=1 协议块使用 LRC 或 CRC 校验,APDU 层的完整性由 SCP 安全通道的 MAC 保证。