参考资料

  1. htpasswd是Apache HTTP服务器提供的用于管理用户认证密码的工具
  2. SHA(Secure Hash Algorithm)是一种密码散列函数
  3. DES是一种对称加密算法
  4. TripleDES(3DES)是一种对称加密算法
  5. URL编码(Percent-encoding)是一种将特殊字符转换为安全传输格式的机制
  6. 摩尔斯电码是一种通过长短信号组合
  7. 对称加密是一种加密方法,使用相同的密钥进行加密和解密操作
  8. GUID(全局唯一标识符)是一种由算法生成的128位数字标识符

散列/哈希加密大全

简介

散列/哈希加密是一种将任意长度的输入数据转换为固定长度输出的单向加密方法。它具有不可逆性、唯一性和确定性等特点。

常用哈希算法

MD5 (Message Digest Algorithm 5)

  • 输出长度:128位(16字节)

  • 特点:计算速度快,但已被证明存在碰撞漏洞

  • 用途:文件校验、密码存储(不推荐)

SHA-1 (Secure Hash Algorithm 1)

  • 输出长度:160位(20字节)

  • 特点:比MD5更安全,但也被发现存在碰撞漏洞

  • 用途:数字签名、版本控制(Git)

SHA-2 家族

  • SHA-256:256位输出

  • SHA-384:384位输出

  • SHA-512:512位输出

  • 特点:目前广泛使用,安全性高

  • 用途:SSL/TLS、区块链、密码存储

SHA-3 (Keccak)

  • 输出长度可变(224/256/384/512位)

  • 特点:新一代标准,抗碰撞性强

  • 用途:替代SHA-2的新选择

BLAKE2

  • 比MD5更安全,比SHA-3更快

  • 用途:密码学应用、数据完整性验证

功能说明

  1. 数据完整性验证:通过比较哈希值验证数据是否被篡改

  2. 密码存储:存储密码的哈希值而非明文

  3. 数字签名:与公钥加密配合使用

  4. 数据指纹:为大数据生成唯一标识

安全注意事项

  1. 对于密码存储,应使用加盐哈希

  2. 避免使用已被破解的算法如MD5、SHA-1

  3. 考虑使用专门设计的密码哈希函数如PBKDF2、bcrypt、Argon2