我希望有一段代码能够检查给定的密码是否与存储在人群 cwd_user 表中的密码匹配。
该表中的密码以“{PKCS5S2}...”开头,我在下面的链接中发现该人群正在使用 PBKDF2 算法:
默认值为“Atlassian Security”,它目前是围绕 Bouncy Castle 的 PKCS 5 版本 2(又名 PBKDF2)实现的愚蠢包装器,使用随机 16 字节盐、10、000 次迭代,并生成 256 位哈希作为最终输出
https://answers.atlassian.com/questions/235858/password-security
有没有人能提供我可以用来匹配该密码的方法?
例如,如果我使用密码“1234”创建用户“toto”,我会在数据库中获得以下行:
user_name credential
------------- -------------------------------------------------------------------------
toto {PKCS5S2}m+u8ed1RKRew3jjHPilZw0ICL6BG/qyeN+kVRRS9nsO+VK7Q5I0vCK3gLvCFWC3n
我想要一种方法:
public String getHash(String rowPassword){
// ?????
}
在哪里
getHash("1234") returns "{PKCS5S2}m+u8ed1RKRew3jjHPilZw0ICL6BG/qyeN+kVRRS9nsO+VK7Q5I0vCK3gLvCFWC3n"