【发布时间】:2011-06-30 09:02:24
【问题描述】:
在 Linux 系统中,密码使用 MD5 散列存储。为什么使用“盐”可以更好地保护系统?特别是要明确以下两点
- 据说盐储存在
带有哈希的明文,然后如何
它可以防止攻击者当
攻击者知道盐值。
(攻击者可以是系统
可以检查的管理员本人
/etc/shadow。 - 如果盐是随机生成的 每次,系统怎么能 比较哈希以验证 用户?
比如用户A有用户salt s1,生成h1; h1 = md5(password.s1);。
下一次,它使用 salt s2,系统必须生成不同的哈希,h2 = md5(password.s2)。既然h1不等于h2,那么系统如何认证用户呢?
【问题讨论】:
-
你读过这个了吗? en.wikipedia.org/wiki/Salt_(cryptography) 阅读本文后,请更新您的问题要具体。
-
即使看完以上内容,我也无法完全理解,所以在这里问。
-
这个问题怎么可能不重复?例如,stackoverflow.com/questions/1219955(但可能有更旧的)。