首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >jBCrypt只是将盐放在散列的前面

jBCrypt只是将盐放在散列的前面
EN

Stack Overflow用户
提问于 2016-09-29 03:09:34
回答 1查看 469关注 0票数 0

我是第一次使用jBCrypt,我没有在我的项目中使用Spring,也不想让那个笨重的库来做一件简单的事情-- BCrypt。

我的理解是加盐的散列包括将盐与密码组合,然后对其进行散列。然而,使用这个库的结果显示,最终的散列似乎基本上是散列之前的盐。

这是我的测试代码:

代码语言:javascript
复制
public static void main(String[] args) throws Exception{
    String salt = BCrypt.gensalt();
    System.out.println("SALT: " + salt);
    String pass = "passwordpasswordpassword";
    String hash = BCrypt.hashpw(pass, salt);
    System.out.println("HASH: " + hash);
}

这是输出:

代码语言:javascript
复制
SALT: $2a$10$gJ9JwqTC0jNJEhX3IUl7je
HASH: $2a$10$gJ9JwqTC0jNJEhX3IUl7jeo18wnF1AgMjQha78sFA/c5Mubx49j6q

这让我很奇怪。我想知道我是不是用错了这个库,或者我只是误解了BCrypt的工作方式。

EN

回答 1

Stack Overflow用户

发布于 2017-01-10 23:20:15

是的,这是BCrypt的预期行为。没有必要保证盐的安全。它是特定于用户的,这一点很重要。BCrypt.checkpw函数在内部需要盐,以便能够计算用户输入的密码的散列,并将其与您存储的散列进行比较。

另请参阅:https://security.stackexchange.com/questions/17421/how-to-store-salt

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/39755786

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档