Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
我使用 Bcrypt 作为 Spring 安全项目的密码哈希算法。
当我尝试使用在线 Bcrypt 计算器时,它会为相同的纯文本密码生成不同的哈希值。这是由于我理解的盐渍。
但是对于真正的 Spring Security 应用程序中的身份验证,应用程序读取用户输入的密码并生成 bcrypt 哈希,然后将其与存储在数据库中的 bcrypt 哈希进行比较。如果匹配,则对用户进行身份验证。
如果 bcrypt 每次生成不同的值,它如何匹配。?
散列方法生成一个包含散列本身和盐的字符串。
检查方法读取存储在字符串中的散列,并使用该散列对明文密码进行散列(与第一次散列密码时使用的相同)。
有关更详细的描述,请参见维基百科