什么是 SM4 对称加密算法?
SM4 是国家密码管理局发布的分组密码算法,原名 SMS4。作为中国自主研发的商用密码标准,它已被广泛集成于 信创产业链 及 等保 2.0 合规要求中。SM4 采用非平衡 Feistel 结构,分组长度和密钥长度均为 128 位,经过 32 轮迭代运算实现高强度的数据加密。在金融、电子政务及能源等关键基础设施领域,SM4 是替代国际 AES 算法的首选国产化方案。
常用使用场景
-
数据库脱敏加密:在处理政务数据时,依据密评要求,应对身份证、银行卡等敏感字段进行 SM4 对称加密存储。
-
后端 API 安全对接:在 Java、Go、Python 后端系统交互中,使用 SM4 CBC 模式对请求体进行端到端加密,防御中间人嗅探。
隐私保护声明
在执行密评调试或合规性自测时,密钥的物理隔离至关重要。RQBA 工具完全基于浏览器端 JS 引擎执行本地计算。所有的 32 轮 Feistel 迭代变换均在您的当前终端内存中完成,无任何网络 API 回传,确保密钥 (Key) 绝不离开本地环境。我们不设后台缓存,不记录任何调试日志,为政企开发者提供最纯净的安全工具。
常见问题解答 (FAQ)
Q: SM4 密钥为什么必须是 16 个字符?
A: 国标规定密钥位宽为 128 bit。标准 ASCII 字符占据 16 字节;若使用 Hex 字符串则应为 32 位。
Q: 支持对接 Java 后端 BouncyCastle 吗?
A: 完全支持。只要后端指定 SM4/CBC/PKCS7Padding 或 SM4/ECB/PKCS7Padding,本工具编解码结果与其完全互通。
Q: 为什么解密出来是乱码或报错?
A: 请核对三点:1. 密钥是否对应;2. CBC 模式下的 IV 偏移量是否一致;3. 输入密文的编码格式(Hex/Base64)是否正确。
Q: SM4 与 AES 相比哪个更安全?
A: 两者在算法强度上处于同一层级,但 SM4 作为国产算法,在信创合规及规避“后门风险”方面具有政策及安全性双重优势。