密码保存在DB中

时间:2015-05-20 00:12:44

标签: java swing hibernate

我不熟悉密码保存AT ALL。我有一个带有用户密码功能的javaApp用于学校项目。它连接到Oracle DB,我不想以String格式存储密码。这很难看。

以更加充分(安全)的方式存储密码的任何简单方法?

如果我以char []格式存储密码会有什么区别吗?

4 个答案:

答案 0 :(得分:3)

Java 8密码哈希的首选包是MessageDigest。您需要散列用户输入密码并将其与数据库中存储的散列密码进行比较。

https://docs.oracle.com/javase/8/docs/api/java/security/MessageDigest.html

答案 1 :(得分:3)

除了答案之外,我建议使用盐渍哈希密码而不是哈希密码。 OWASP网站提供了有关如何防止黑客攻击的良好信息来源。请参阅此链接https://www.owasp.org/index.php/Hashing_Java https://crackstation.net/hashing-security.htm是一个很好解释的blob。这个blob探索你应该做什么,而不是。此链接也解释了如何在java中生成salted和散列密码。 How do I generate a SALT in Java for Salted-Hash?

答案 2 :(得分:0)

始终将密码存储在哈希中。寻找像SHA(安全散列算法)这样的散列函数。 你应该:

  1. 存储:将密码转换为哈希并将哈希值存储在db
  2. 身份验证:以哈希值转换密码,并与db
  3. 中存储的哈希值进行比较

答案 3 :(得分:0)