Bcrypt哈希共同的部分

时间:2018-04-29 17:32:52

标签: java spring bcrypt

我有一个由bcrypt(使用spring bcrypt password encoder)从用户密码创建的哈希。我需要根据此哈希生成一个密钥,以便下次用户输入密码时,应用程序会从中创建一个哈希,然后生成相同的密钥。问题是使用bcrypt我每次都得到不同的哈希来获得相同的密码。我想知道bcrypt为字符串生成的所有哈希值是否有共同点。我可以从哈希中提取一些常用和常量的部分来创建一个密钥吗?

1 个答案:

答案 0 :(得分:0)

对库使用的BCrypt.java进行了调查,发现盐已嵌入到生成的哈希中。并且库在matches方法中的密码验证期间提取它,使用salt生成相同的哈希,然后将生成的哈希与提供的哈希进行比较。 知道盐我可以获得相同的哈希值,就像@vstm在评论中提到的那样。