功能说明
在浏览器本地完成中国商用密码算法的运算,覆盖 SM3 摘要、SM4 对称加解密、SM2 非对称加解密与签名验签。 所有计算均在当前页面完成,密钥与明文不会发送到任何服务器。
SM3 摘要
SM3 是国密杂凑算法,输出固定 256 位(64 位十六进制字符),常用于完整性校验、口令摘要与数字签名前的预处理。
本工具同时支持 HMAC-SM3:填写十六进制密钥后即可生成带密钥的消息认证码。标准测试向量 SM3("abc") = 66c7f0f4…8f4ba8e0,可用于自检。
SM4 对称加解密
SM4 是 128 位分组对称算法,密钥固定为 128 位,即 32 个十六进制字符。可点击「随机密钥」快速生成。
模式说明:ECB 相同明文分组会产生相同密文,安全性较弱,仅建议用于兼容旧系统; CBC 需要额外提供 128 位初始向量 IV(同样是 32 个十六进制字符),同一密钥下每次加密应使用不同 IV。
填充方式选择 PKCS#7 时明文长度任意;选择「不填充」时明文字节数必须是 16 的整数倍,否则末尾不足一组的数据会被丢弃。 明文可按 UTF-8 / Hex / Base64 解释,密文可输出为 Hex 或 Base64,方便与后端 Java、Go 等实现对接。
SM2 加解密与签名
SM2 是基于椭圆曲线的公钥算法。点击「生成密钥对」得到 64 位十六进制私钥与以 04 开头的 130 位十六进制公钥。
密文排列顺序需与对端保持一致:C1C3C2 是《GM/T 0009》推荐的新标准顺序(多数 Java 实现默认), C1C2C3 是早期实现的顺序。解密时选错顺序会直接失败。
签名默认启用 SM3 杂凑并使用用户标识 1234567812345678(国标默认值); 若对端使用了自定义 userId,请在此处填写相同的值,否则验签不通过。DER 编码用于与 OpenSSL、Java BouncyCastle 等互通。
使用场景
国产化改造联调时快速验证加解密结果、排查前后端算法参数不一致问题、生成测试用密钥与签名数据。
温馨提示
- 您的反馈将帮助我们改进产品体验
- 反馈内容会匿名保存,保护您的隐私
- 我们会认真阅读每一条反馈
暂无反馈记录
