常见加密算法总结
场景
“把数据加密”并不是一个完整需求:密码登录、接口传输、文件保密和数字签名需要的安全目标完全不同,选错算法可能看似安全却无法抵御攻击。
原理
哈希是单向摘要,适合完整性校验;口令应使用带盐且计算昂贵的 bcrypt、scrypt 或 Argon2。AES 等对称加密速度快,适合大数据;RSA、椭圆曲线等非对称算法便于密钥交换与签名,通常与对称算法组合使用。
设计步骤
先明确机密性、完整性、身份认证或不可否认性;采用成熟协议和库;数据使用随机内容密钥加密,再用密钥管理系统保护内容密钥;为密文保存算法和版本;设计轮换、吊销、备份与审计。
权衡
更高计算成本可抵抗口令暴力破解,也消耗服务器资源;非对称加密便于分发但速度慢且载荷受限。可搜索或可比较的数据往往泄露模式,应在功能便利与隐私之间明确取舍。
实践建议
禁用 MD5、SHA-1 作为密码存储,禁用 ECB 和自制协议。使用带认证的加密模式如 AES-GCM,并保证 nonce 不重复。密钥不进仓库、不写日志,权限按用途隔离。算法升级采用版本化密文和读取时迁移,不要求一次性停机重加密。
落地检查
上线前还应做一次桌面演练:准备正常、边界、超时、重复与恶意输入,确认系统的返回、日志和指标彼此对应;在预发布环境模拟依赖不可用、进程重启和配置回滚,验证降级路径不会放大故障。上线时采用小流量观察,提前定义停止条件与负责人。稳定后复盘真实数据,删除没有收益的复杂度,并把新发现的约束补进测试、监控和设计记录,使方案能够随业务持续演进,而不是停留在一次性评审结论。
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来源 Dai Wei!
评论

