为了使密码更安全,在发生混乱之前,将密码添加一个随机salt。
我假设salt被存储在关联数组[[username:salt]的服务器上),并且服务器在每次用户login时都将salt添加到密码中,否则服务器将不知道将什么随机盐附加到密码
1)我的假设是否正确?
2)盐是否通常以纯文本或密码的forms存储在服务器上,为什么?
3)它存储在哪个文件? (我知道这可能是主观的,因为它取决于不同的服务器)
如果可能,我想详细解释
谢谢
它与encryption的密码string(可能带有分隔字符,可能只是固定数量的字符;取决于你正在谈论哪个特定的密码文件)连接在一起。例如,我的/etc/shadow包含$6$prRzIBxG$K4w0950HW9eMmVgzqpmdgfpxqmFtXZx.mS7wGorSoeXvt51tejXxx22CoTsrmj9AsszgT.CvkB5BrPuMq1r.Z/作为encryption的密码。 $ 6 $是一个控制序列,盐是pr 。
(请注意,这是在像UNIX这样的密码文件系统上;您也标记了IIS,但Windows将密码,盐等存储在一个称为SAM的相当不透明的数据结构中。