java - 将密码存储在加密文件中

标签 java

我正在编写这个需要几个单独帐户的 Java 桌面应用程序(没有互联网连接),我需要将登录信息存储在一个文件中,该文件可以访问以检查密码。

我不知道应该怎么做,你怎么能在看不到其他人的密码的情况下读取加密文件?

最佳答案

您永远不需要解密密码。您需要保存用户名、消化后的密码和盐。盐很重要,因为如果你不使用它,很容易用彩虹表得到密码。

保存密码时,需要生成随机盐。然后将它与密码连接起来,并对其进行消化。然后存储用户名、消化后的密码和盐。

当你想检查密码时,你将用户写入的密码与为该用户存储的盐值连接起来,消化它并将其与保存的消化后的密码进行比较。

小心您将使用的摘要算法。 SHA-XX 不错,它默认包含在 java 中。

关于java - 将密码存储在加密文件中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9311124/

相关文章:

java - 流线程空指针错误

java - 在字符串数组上使用快速排序

java - 比较两个 HashMap 并计算重复值的个数

java - 如何使用antlr4 plsql语法(java和org.antlr.v4.gui.TestRig)

java - Spring JDBC - 将 BLOB 数组传递给 SQL 函数

java - 如何使用JAVA在Linux中更改对传入文件的权限

Java - 将CSV解析为ArrayList(需要识别换行符)

java - JFileChooser 从 JSP 浏览对话框

java - 在 JMenu 中居中文本

java - 使用 core java 从 Activity 浏览器(或浏览器的 Activity 选项卡)获取 URL