首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何匹配人群数据库密码?

如何匹配人群数据库密码?
EN

Stack Overflow用户
提问于 2014-10-03 08:05:24
回答 1查看 3.6K关注 0票数 4

我希望有一段能够检查给定密码是否与存储在人群cwd_user表中的密码匹配的代码。

该表中的密码以“{PKCS5S2}.”开头我在下面的链接中发现,人群正在使用PBKDF2算法:

默认情况是"Atlassian“,它目前是Bouncy城堡实现PKCS 5版本2(又名PBKDF2)的一个愚蠢的包装器,它使用一个随机的16字节盐、10,000个迭代,并生成一个256位哈希作为最终输出。

https://answers.atlassian.com/questions/235858/password-security

有人能给我提供一个方法来匹配密码吗?

例如,如果我使用密码"1234“创建一个用户"toto”,则在我的数据库中得到以下行:

代码语言:javascript
运行
复制
user_name     credential                                                                
------------- ------------------------------------------------------------------------- 
toto          {PKCS5S2}m+u8ed1RKRew3jjHPilZw0ICL6BG/qyeN+kVRRS9nsO+VK7Q5I0vCK3gLvCFWC3n 

我希望有这样一种方法:

代码语言:javascript
运行
复制
public String getHash(String rowPassword){
    // ?????
}

哪里

代码语言:javascript
运行
复制
getHash("1234") returns "{PKCS5S2}m+u8ed1RKRew3jjHPilZw0ICL6BG/qyeN+kVRRS9nsO+VK7Q5I0vCK3gLvCFWC3n" 
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-10-03 14:38:56

作为一群客户,您可以访问类AtlassianSecurityPasswordEncoder,这正是如此。

底层编码器选择一个随机的盐,忽略传入的盐,这样encodePassword就不会每次给出相同的哈希。使用isPasswordValid确认密码和哈希匹配。

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

https://stackoverflow.com/questions/26175391

复制
相关文章

相似问题

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