跳到主要内容
← 返回

SM3 哈希计算器 - 国密杂凑算法在线计算

安全
本地运行 · 不上传

在线 SM3 杂凑(哈希)计算器:输入任意文本即时得到 256 位国密摘要,支持中文与 Emoji。SM3 是国密标准 GM/T 0004-2012 算法,输出与 SHA-256 同级。纯浏览器本地计算,输入不外传。

结果有帮助吗?

本地工具可在 DevTools → Network 搜索输入内容,通常不会出现在请求中。

使用指南

SM3 是国密算法族里的哈希标准(GM/T 0004),输出固定 256 位摘要——可以把它理解为中国密码体系里的 SHA-256。对接政务、金融、等保合规场景时它是必填项。本工具在浏览器本地计算 SM3,输入不出本机。摘要仅用于完整性比对,不能当加密密文。

1. 怎么用

  1. 输入任意文本(中文、二进制转码串均可)。
  2. 工具即时输出 64 位十六进制的 SM3 摘要。
  3. 复制摘要,用于完整性比对或接口联调。

2. 什么时候必须用 SM3 而不是 SHA-256

  • 对接国产密码改造(等保 2.0 / 密评)的系统:算法名单是硬性的,SHA-256 不替代 SM3。
  • 政务、金融、国企内部接口的签名摘要通常指定 SM3。
  • 其余无合规要求的场景,选 SM3 还是 SHA-256 取决于对接方的约定。

3. 一个对照认知

SM3 与 SHA-256 设计同构(都是 Merkle–Damgård 结构、256 位输出、相近的抗碰撞强度),安全上没有本质高低,选择由合规要求决定。学习时用本站两个工具对同一输入各算一次,能看到输出完全不同——这正说明「哈希算法」只有兼容同一套规则的两端才能对上,跨算法永远对不上。

4. 搜「SM3 加密」进来的先看这段

SM3 是哈希(摘要)算法,不是加密算法——它没有密钥、不可逆,输出无法还原输入。如果你要做的是「加密后还能解密」,对称加密选 SM4(本站有对应工具),非对称选 SM2;SM3 的用途是「验证数据没被改过」:比对摘要一致即内容一致。大量搜索把哈希误称加密,分清这个边界能省掉一半选型弯路。

5. 三件套选型速查

  • 要加密数据(可解密还原):SM4 对称加密,或 SM2 公钥加密短数据。
  • 要防篡改 / 数字签名:SM3 产生摘要 + SM2 签名摘要。
  • 要密码存储的「单向哈希」:SM3 可以,但它快而通用;带盐慢哈希(bcrypt 等)才是密码场景的标准答案。

6. 联调时摘要对不上的两个高频原因

第一,编码不一致:同一句中文,UTF-8 与 GBK 的字节不同,SM3 摘要自然不同——先统一编码再比。第二,拼接了不可见字符:接口签名常对「参数名+参数值排序拼接」后取摘要,分隔符、空参数、尾部换行符的细微差异都会让摘要完全变样。排查时把两端的「待摘要原文」逐字符比对(本站文本对比工具可用),比对一致而摘要仍不同,才轮到怀疑算法实现。

7. 标准号与本工具边界

SM3 在文档里可能写作 GM/T 0004-2012 或 GB/T 32905-2016——同一算法的行业版与国标版,不是两种哈希。本页只做纯摘要(非 HMAC-SM3、非国密 TLS 握手转录)。家族选型与 TLCP / RFC 8998 分工见[《国密算法入门》](/blog/guomi-algorithms-guide)与[《标准号速查》](/blog/sm-standard-numbers-explained)。

8. 输出形态与验收

输出为 64 位小写十六进制(256 bit)。联调时先固定原文编码(UTF-8 与 GBK 摘要不同),再排除首尾空白与不可见字符。本页只做纯 SM3 摘要,不做 HMAC-SM3。同一输入在 SHA-256 工具上结果必然不同——跨算法比对永远对不上,属预期行为。

常见问题

两者都输出 256 位摘要、设计同构(同为 Merkle–Damgård 结构)、安全强度同级,区别在标准归属:SM3 是中国密码行业标准,SHA-256 是美国 NIST 标准。国密合规场景(等保、政务、金融)必须用 SM3。标准号 GM/T 0004-2012 与 GB/T 32905-2016 是同一算法的行业版与国标版,不是两种哈希。详见本站《SM3 和 SHA-256 的区别》一文。

输入 "abc" 的 SM3 摘要为 66c7f0f462eeedd9d1f2d46bdc10e4e24167c4875cf2f7a2297da02b8f4ba8e0。本工具输入 abc 应得到完全一致的结果,可用于验证实现正确性。

不是。SM3 是哈希(摘要)算法:没有密钥、不可逆,输出无法还原输入。要「加密后还能解密」,对称选 SM4、非对称选 SM2;SM3 的用途是验证数据没被改过——摘要一致即内容一致。另外它快而通用,存密码请用带盐的慢哈希(如 bcrypt)。

两个高频原因:一是编码不一致,同一句中文 UTF-8 与 GBK 的字节不同,摘要自然不同,先统一编码;二是拼接里混入不可见字符,参数排序拼接时的分隔符、空参数、尾部换行都会让摘要完全变样。把两端「待摘要原文」逐字符比对(可用本站文本对比工具),原文一致而摘要仍不同,才轮到怀疑算法实现。

当前版本提供纯 SM3 摘要。HMAC-SM3 构造与 HMAC-SHA256 相同(密钥填充后两次杂凑),如需 HMAC 场景可先反馈需求。

不会。SM3 计算完全在浏览器本地完成,输入文本不发出任何网络请求。

相关工具

相关文章