我需要用bcrypt来储存盐吗?

问题:

 bCrypt’s javadoc有如何加密密码的代码:

String pw_hash = BCrypt.hashpw(plain_password, BCrypt.gensalt()); 

要检查明文密码是否与以前已经散列的密码相匹配,请使用checkpw方法:

if (BCrypt.checkpw(candidate_password, stored_hash))
    System.out.println("It matches");
else
    System.out.println("It does not match");

这些代码片段意味着随机产生的盐被丢弃。是这种情况,还是这只是一个误导性的代码段?

回答:

盐被并入散列(以base64格式编码)。
例如,在传统的Unix密码中,盐被存储为密码的前两个字符。剩余的字符表示哈希值。检查功能知道这一点,并将哈希分开,以使盐回收。

 
 
Code问答: http://codewenda.com/topics/python/
Stackoverflow: Do I need to store the salt with bcrypt?

*转载请注明本文链接以及stackoverflow的英文链接

发表评论

电子邮件地址不会被公开。 必填项已用*标注

18 − 11 =