| 长度 | 建议至少 16 字节随机 |
|---|---|
| 存储 | 与散列一起保存(常嵌入散列字符串) |
| 作用 | 抵御彩虹表、隐藏相同口令 |
| 与 pepper 区别 | pepper 是额外秘密,与散列分开保管 |
生成与使用
生成与使用
import os, hashlib, base64
salt = os.urandom(16)
dk = hashlib.pbkdf2_hmac('sha256', b'password', salt, 600000)
print(base64.b64encode(salt).decode(), base64.b64encode(dk).decode())固定盐、全局共享盐或短盐(如 4 字节)会让彩虹表重新有效;每次改密都要生成新盐。