小编典典

在Java中安全存储密码的最佳实践是什么

java

在Java桌面应用程序中存储密码的推荐方式是什么?

我希望用户只能输入一次凭证,而不会再次提示。

在个人项目中,我一直在使用Preferences API,但我假设这与以纯文本格式存储(安全方面)没有什么不同。

非常感谢

编辑:

非常感谢您的建议。毫无疑问,这似乎有些混乱,因为我可能还没有把问题弄清楚。

我将给出一个假设的情况:

假设我正在为远程数据库创建一个简单的前端,该前端使用用户名/密码创建连接字符串。通常,每次应用程序启动时,都会提示用户输入用户名/密码组合。

在无需重新输入密码(在应用程序启动时自动连接)的情况下,将密码存储在用户计算机中的最佳方法是什么。

一种“记住我”功能(我本身并不知道这是一种很好的做法…)

编辑2:

谢谢大家的回答。PaŭloEbermann的手头上的问题非常有用,而Chris
Smith的链接很有趣,但是我接受了JVerstry的链接,因为密钥库可能是我所采用的方法。


阅读 222

收藏
2020-09-21

共1个答案

小编典典

您可以使用本地密钥库,在其中可以放置密码而不是秘密密钥。

编辑答案:

密钥库非常适合您的需求。如果需要额外的保护,可以在用户启动应用程序时要求用户输入一个密码来访问所有密码。然后,您可以使用启动应用程序时使用的一个密码,通过一种简单的方法来保护存储的数据库密码(生成加密密钥)。

2020-09-21