我正在做一个学校项目,制作一个 java 程序,包括登录/订阅表单。
因为它是供学校使用的,所以我不应该包含任何第三方库,例如 jBcrypt 或其他强大的哈希函数。 我考虑使用 java.security.random 的 sha256 为每个用户生成一个盐,但我不知道该密码使用什么哈希函数。 我不想只使用 sha256/512 的一次迭代,因为它有点弱,而且我也不想用 sha256/512 的 100 次迭代创建一个 for 循环,因为我猜如果 bcrypt 和其他东西存在,那是因为迭代 sha 还不够(而且我知道尝试自己重新发明密码学总是一个坏主意)。
那么我应该使用什么内置哈希函数来存储我的密码?
注意。我知道在这种情况下(学校项目),登录数据不值得很好的安全性(而且我的主题也不需要),但我想做得尽可能好,所以请不要回答 md5/sha512 哈希对于这种情况就足够了。
最佳答案
我建议您学习如何使用 SHA256 和 512 作为密码,并注意加盐。
参见例如http://www.jasypt.org/howtoencryptuserpasswords.html
“6. 用 Java 实现”部分描述了如果您不想使用外部库,可以用来实现算法的 Java 方法。
祝你好运!
关于java - 使用什么内置 Java 哈希函数作为密码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16946125/