常见混淆
哈希函数
典型代表:MD5、SHA1、SHA256、SHA512
定义: 哈希函数(Hash Functions)把任意长度的数据映射成固定长度的「指纹」。
特征:
- 单向,不可逆
- 相同输入 → 相同输出
- 极小的输入变化 → 完全不同的输出
应用:
- 文件完整性校验(如下载文件的 SHA256 校验)
- 数字签名时:先对消息做哈希,再对哈希签名
区别:
- MD5:老旧,已被攻破(存在碰撞),仅适合简单完整性校验,不安全
- SHA1:比 MD5 强,但已不再安全
- SHA256 / SHA512:目前安全,广泛使用
编码方式
典型代表:Base64、Hex
定义:编码方式(Encoding)只是数据表示方式,不是加密。
例子:
- Base64:把二进制数据编码成 ASCII 字符串,方便在文本协议中传输
- Hex (十六进制):常用于展示哈希值、指纹
应用:
- 邮件传输(MIME Base64)
- SSH 公钥的存储(采用 Base64 编码)
随机标识符
典型代表:UUID
功能:提供全局唯一 ID(但不是密码学意义上的安全标识符)
生成方式:
- 基于时间
- 基于 MAC 地址
- 基于随机数
- 基于哈希
应用:
- 数据库主键
- 分布式系统中的唯一标识
注意事项:
- UUID 仅保证
唯一性,不保证不可预测 - 因此 不适合作为安全密钥
