加密与安全工具
哈希摘要、国密 SM2、对称与非对称加密、JWT 校验。
MD5
计算文本的 MD5 摘要
SHA256
计算文本的 SHA-256 摘要
SM2 国密
国密 SM2 加解密与签名验签
JWT
解析并校验 JWT 结构与签名
AES / RSA
对称与非对称加解密
怎么选:先分清「摘要」和「加密」
如果你只是要把一段内容变成固定长度的指纹、用来比对文件有没有被改动,需要的是摘要算法,用 MD5 或 SHA256。摘要不可逆,拿不回原文,因此不能用来保护数据,只能用来校验一致性。这类场景优先选 SHA256:MD5 因存在已知的碰撞构造,已经不适用于安全用途,但用于「文件是否损坏」这种非对抗性校验仍然够用。
如果目标是把内容还原回来,需要加密算法。对称加密用 AES,同一个密钥加解密,速度快,适合加密大段数据;非对称加密用 RSA 或国密 SM2,公钥加密、私钥解密,密钥分发方便但速度慢,通常只用来加密对称密钥本身。国内项目若需合规,SM2 是常见的替代选择。
JWT 属于校验工具:接口调试时把拿到的令牌贴进来,可以看清头部、负载与签名的内容,并验证签名是否与给定密钥匹配,用来排查「令牌为什么被判无效」比自己对着文档比对快得多。
常见问题
MD5 现在还能用吗?
取决于用途。用于校验文件完整性、生成缓存键这类非对抗场景仍然可用;但用于口令存储或防篡改就不行了——MD5 已被构造出碰撞样本,攻击者可以让两份不同内容得到同一个摘要。这类场景请改用加盐的 bcrypt、scrypt 或至少 SHA256。
SHA256 和 MD5 该选哪个?
需要抗碰撞就选 SHA256,它的输出更长、目前没有实用碰撞攻击。只有在兼容老系统、或仅仅是做非安全性的快速比对时才继续用 MD5。
SM2 与 RSA 有什么区别?
两者都是非对称算法,区别在数学基础与密钥长度:SM2 基于椭圆曲线,256 位密钥即可达到 RSA 3072 位左右的安全强度,运算更快、密钥更短。SM2 是国家密码管理局发布的国密标准,在需要合规的国内项目中常作为 RSA 的替代。
在网页上粘贴密钥安全吗?
密钥只用于本次计算,不会写入公开页面——站点的访问日志仅记录页面路径,不记录查询串与提交内容。但仍建议不要把生产环境的密钥长期放在网络工具里试用,正式使用前请用本地代码再验证一次。