首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >jBCrypt验证密码失败

jBCrypt验证密码失败
EN

Stack Overflow用户
提问于 2011-09-30 00:26:04
回答 1查看 1.7K关注 0票数 0

我正在为我的应用程序加密密码,因为密码将存储在共享首选项中

我找到了bcrypt,读到了很多关于它的好东西,但我不能让它工作。

我使用的是jBCrypt。我按照说明做了这个测试。

代码语言:javascript
复制
String hashed = BCrypt.hashpw("dog", BCrypt.gensalt(12));
String candidate = BCrypt.hashpw("dog", BCrypt.gensalt(12));
if (BCrypt.checkpw(candidate, hashed)){
    Toast.makeText(Loader.this, "equals", Toast.LENGTH_LONG).show();
}else{
    Toast.makeText(Loader.this, "don't match?", Toast.LENGTH_LONG).show();
}

但是,每次我运行应用程序时,显示的toast是不匹配的吗?所以,当我在我的共享首选项中登录哈希密码,然后将其与用户输入进行比较时,它会说每次都是错误的,因为很明显,它每次都会给我一个不同的哈希。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2011-09-30 00:30:14

根据documentation的说法,BCrypt.checkpw()明文密码作为其第一个参数。所以它应该是:

代码语言:javascript
复制
String hashed = BCrypt.hashpw("dog", BCrypt.gensalt(12));
String candidate = "dog";

if (BCrypt.checkpw(candidate, hashed)) {
    Toast.makeText(Loader.this, "equals", Toast.LENGTH_LONG).show();
} else {
    Toast.makeText(Loader.this, "doesn't match?", Toast.LENGTH_LONG).show();
}
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/7600395

复制
相关文章

相似问题

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