#01
什么是 SM4?
SM4(商用密码分组密码算法)由中国国家密码管理局在 2012 年发布,是国密算法家族中的对称加密标准。它的分组长度与密钥长度均为 128 位,通过 32 轮非线性迭代完成加解密,且加密与解密使用相同的算法结构(等价解密),仅轮密钥顺序不同。
作为国密体系的对称加密标准,SM4 广泛应用于 WAPI 安全协议、无线局域网鉴别、电子政务、金融 IC 卡、数据库字段加密、磁盘与文件加密、实时数据传输保护等领域。它的安全强度与 AES-128 相当,是国产密码系统替代 AES 的首选方案。
SM4 属于分组密码:每次处理 128 位(16 字节)的明文分组,通过轮变换(非线性 S 盒、线性变换 L、循环移位、轮密钥异或)产生 128 位密文。实际应用中通常配合 ECB、CBC 等工作模式与 PKCS7 填充使用。我们的在线 SM4 工具支持多种模式与编码切换,方便开发者在日常工作中快速使用国密标准。
#02
SM4 的常见问题
SM4 和 AES 哪个更好?两者安全强度在同一量级(128 位密钥),运算性能接近。在需符合中国国标、金融或政务规范的场景下,SM4 是合规首选;在国际通用性场景下,AES 生态更成熟。
为什么解密失败或得到乱码?请确保解密时的 密钥、工作模式、填充方式及 IV(偏移量)与加密时完全一致。任何一项参数不同,结果都会不同。
ECB 和 CBC 有什么区别?ECB 每个分组独立加密,实现简单但安全性较低(相同明文得到相同密文);CBC 每个分组与前一分组密文进行异或后再加密,安全性更高,是推荐使用的模式。
密钥长度是多少?SM4 使用固定 128 位(16 字节)密钥。如果以十六进制表示则为 32 个 Hex 字符;如果以文本表示则为 16 个 UTF-8 字符。
另外一个实用建议:密钥与 IV 务必妥善管理,不要在代码或客户端中硬编码高价值密钥。与国密系统(如政务、金融)对接时,通常需要使用 SM4 作为对称加密标准。我们的工具提供标准 SM4 实现,支持多种模式与编码切换,方便您快速验证。
#03
数据安全与隐私说明
本工具的所有 SM4 运算都在您的浏览器本地完成,密钥、明文、密文不会上传到任何服务器。您的数据完全在自己的设备中处理,这是使用在线加密工具时最基本的安全底线。
尽管如此,仍需注意以下风险:
- 不要在公共计算机上处理敏感数据:浏览器可能保存了输入历史、剪贴板内容,存在泄露风险。
- 妥善管理密钥:不要通过电子邮件、即时通讯等未加密渠道分享密钥,建议使用安全的密钥管理方案。
- 使用强随机密钥:优先使用工具内置的"随机生成"功能获取高强度密钥,而不要使用生日、电话号码等容易猜的字符串。
- IV(偏移量)不需要保密,但必须唯一且不可预测:CBC 模式下每次加密应使用不同的 IV,重复使用 IV 会导致安全漏洞。
- 不要用 ECB 模式加密敏感数据:它不隐藏明文模式,安全性较弱。
- 离线优先:一旦页面加载完成,即使断开网络连接,本工具仍可正常使用,这是处理高度敏感数据时的最佳实践。
在使用任何加密工具时,请遵循最小原则:如果输入的是高敏感信息,优先选择支持本地计算的工具;如条件允许,在断网环境下打开页面后再输入;不要使用要求上传文件的工具。
综合来看,SM4 的价值在于"国产标准 + 与 AES-128 同级安全 + 良好生态兼容性"。只要您能正确选择保护隐私的本地工具,它就是开发者工具箱中值得信赖的一项。