三类加密算法

对比哈希算法、对称加密与非对称加密的核心特性,梳理加盐、数字签名,以及密码存储、敏感数据存储和网络传输中的应用场景。

· 3 min read · —

一、总览

类型密钥特点是否可逆典型算法
哈希算法无密钥(可加盐)不可逆SHA-256
对称加密加密解密同一密钥可逆AES
非对称加密公钥/私钥成对可逆RSA

二、哈希算法

核心特性:不可逆——无法通过哈希后的值反推原值。

典型场景:

  • 密码存储:数据库保存密码的哈希值,登录时比较用户输入密码的哈希值与数据库中的哈希值是否一致,判断密码是否正确。
  • 文件完整性校验:下载文件后比较其哈希值与官方提供的哈希值,判断文件是否被篡改或损坏。

加盐(Salt):在密码任意固定位置插入特定字符串,使哈希结果与原始密码的哈希结果不相符,此过程称为”加盐”。目的是防止彩虹表攻击,即使两个用户密码相同,加盐后哈希值也不同。


三、对称加密

核心特性:加密和解密使用同一个密钥,也称共享密钥加密算法。

  • 优点:速度快,适合大量数据加密。
  • 缺点:密钥分发和管理是难点(双方需安全地共享同一密钥)。

四、非对称加密

核心特性:加密和解密使用不同的密钥,也称公开密钥加密算法。两个密钥互不相同:

  • 公钥:可以公开给任何人使用。
  • 私钥:必须保密。

两种操作要区分清楚:

操作使用密钥说明
加密公钥加密 → 私钥解密用于保证数据机密性
数字签名私钥签名 → 公钥验签用于保证身份认证和完整性

五、日常开发常见场景

  1. 密码存储:数据库中保存的密码需加盐后使用哈希算法(Bcrypt)加密。
  2. 敏感数据存储:数据库中的银行卡号、身份证号等敏感数据,使用对称加密算法保存。
  3. 网络传输安全:传输银行卡号、身份证号等敏感数据时,用非对称加密算法保证传输安全性。
文章目录