跳到页面内容
数据与密码

Salt

盐值

哈希前加入的随机数据,可防止相同密码产生相同哈希并抵抗彩虹表。

一句话记忆盐值让相同密码也得到不同的哈希结果。
读图提示
角色与机制
相同图案的面团比喻相同密码,不同颗粒比喻独立随机盐,碎晶比喻最终哈希。
风险在哪里
无盐时,相同密码会得到相同哈希,攻击者能复用预计算结果或一次猜测批量比对。
防护与边界
为每个密码生成独立随机盐,与哈希一起保存,并使用慢速密码哈希;盐不需要保密,也不能弥补弱密码。
概念插画

盐值

Salt

两人给带相同钥匙图案的面团加入不同颜色颗粒,经两台机器变成不同颜色的碎晶,后方攻击者翻看钥匙图册。
读图提示
角色与机制
相同图案的面团比喻相同密码,不同颗粒比喻独立随机盐,碎晶比喻最终哈希。
风险在哪里
无盐时,相同密码会得到相同哈希,攻击者能复用预计算结果或一次猜测批量比对。
防护与边界
为每个密码生成独立随机盐,与哈希一起保存,并使用慢速密码哈希;盐不需要保密,也不能弥补弱密码。
交互图解

从概念到风险,再到防护

切换三个步骤,观察角色、机制和结果的变化。

SCENE / 070数据与密码
盐值:概念关系用户密码 → 随机盐值 → 独立哈希CONCEPT / 01盐值用户密码随机盐值独立哈希概念关系理解角色与关系

概念:两名用户用了相同密码,但独立盐值使数据库中的验证结果不同。

一个具体场景

把概念放进日常操作

两名用户用了相同密码,但独立盐值使数据库中的验证结果不同。

01 / 为什么重要

影响与风险

没有独立盐值,预计算结果容易被复用,也能直接识别相同密码用户。

02 / 怎么判断

从这些线索开始

核对每个密码记录是否采用随机独立盐值,并与专用算法组合。

03 / 实战习惯

可以采取的动作

让成熟密码哈希库生成和保存盐值,设置合理成本。

30 秒场景小测

密码哈希的盐值需要像密钥一样保密吗?

延伸阅读OWASP:密码加盐:避免重复哈希与预计算攻击 ↗