用于密码的内置Java哈希函数

时间:2013-06-05 17:21:44

标签: java security hash

我正在制作一个包含登录/订阅表格的java程序的学校项目。

因为它适用于学校,我不应该包括任何第三方库,如jBcrypt或其他强哈希功能。 我想用每个用户用java.security.random的sha256生成一个salt,但我不知道用于密码的散列函数是什么。 我不想只使用sha256 / 512的一次迭代,因为它有点弱,而且我也不想用sha256 / 512的100次迭代进行for循环,因为我猜如果bcrypt和其他存在它'因为迭代sha是不够的(而且因为我知道尝试自己重新加密密码总是一个坏主意。)

那么我应该使用什么内置的散列函数来存储我的密码?

NB。我知道在这种情况下(学校项目)登录数据不值得一个非常好的安全性(我的主题也不需要它)但我想尽可能好地做到这一点所以请不要回答md5 / sha512哈希对于这种情况就足够了。

2 个答案:

答案 0 :(得分:1)

我建议您研究如何使用SHA256和512作为密码,并注意腌制。

参见例如http://www.jasypt.org/howtoencryptuserpasswords.html

“6.在Java中执行”一节介绍了在不想使用外部库时可以用来实现算法的Java方法。

祝你好运!

答案 1 :(得分:0)

将PBKDF2WithHmacSHA1与用户愿意等待的迭代次数一起使用。我会建议10,000。

这是恰当的:http://en.wikipedia.org/wiki/PBKDF2#BlackBerry_vulnerability

相关问题