跳到主要内容
uencoder

Salt

Salt 是密码哈希时加入的随机值,使相同密码产生不同哈希,抵御彩虹表与相同密码检测。

用途

使每个用户的密码哈希唯一,即使密码相同,防止预计算与批量比对。

机制

为每个密码生成唯一随机 salt(≥16 字节),与密码拼接后哈希:H(password || salt)。salt 与哈希一同存储(无需保密)。验证时用存储的 salt 重新哈希比对。salt 使彩虹表需为每用户独立预计算,不可行。

用例

  • 密码哈希存储
  • KDF(PBKDF2/scrypt)输入
  • 加密 IV 类似用途
  • 令牌生成

示例

  • 输入
    password + random salt
    输出
    Unique hash

    Different per user

常见错误

A global fixed salt (equivalent to no salt)
Generate a unique random salt per password

相关词条

相关工具

参考链接