当前位置: 首页 > 面试题库 >

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

傅浩漫
2023-03-14
问题内容

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

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

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

非常感谢

编辑:

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

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

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

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

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

编辑2:

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


问题答案:

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

编辑答案:

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



 类似资料:
  • 我正在寻找一个简单、安全的解决方案,使用Node存储用户密码。我是一个密码学新手,但是一直在试图通过网上搜索拼凑出一个解决方案。我正在寻找一种验证,即我所提出的是一个具有基本(而不是银行、医院等)安全需求的web应用程序的可靠解决方案。这是: …以下是我做出的选择让我走到了这一步: 使用什么哈希算法? 根据这篇被广泛引用的文章,看起来领先的竞争者是PBKDF2、bCrypt和scrypt。我选择P

  • 下面,我们将会回顾常见的安全原则,并介绍在使用 Yii 开发应用程序时,如何避免潜在安全威胁。 大多数这些原则并非您独有,而是适用于网站或软件开发, 因此,您还可以找到有关这些背后的一般概念的进一步阅读的链接。 基本准则 无论是开发何种应用程序,我们都有两条基本的安全准则: 过滤输入 转义输出 过滤输入 过滤输入的意思是,用户输入不应该认为是安全的,你需要总是验证你获得的输入值是在允许范围内。 比

  • Overview The term “production” refers to the stage in the software lifecycle when an application or API is generally available to its end-users or consumers. In contrast, in the “development” stage, y

  • 问题内容: 处理和存储日期的最佳实践是什么,例如在企业Java应用程序中使用GregorianCalendar? 寻找反馈,我会将所有出色的答案合并为其他人可以使用的最佳实践。谢谢! 问题答案: 乔达就是要走的路。为什么呢 它具有比标准Date / Time API更强大,更直观的界面 日期/时间格式没有线程问题。java.text.SimpleDateFormat不是线程安全的(不是很多人都知道

  • 本篇文档的目的在于如何让系统管理员或开发者用尽可能少的时间部署一个安全的 web 站点或应用,即 SSL 和 TLS 部署最佳实践。

  • 问题内容: 我正在接管以前的开发人员的一些应用程序。当我通过Eclipse运行应用程序时,我看到内存使用率和堆大小增加了很多。经过进一步调查,我发现他们正在循环创建一个对象以及其他东西。 我开始经历并做一些清理。但是,我经历的时间越长,我就会遇到更多的问题,例如“这实际上会做什么?” 例如,他们没有在上述循环之外声明变量,而只是在循环中设置其值…而是在循环中创建了对象。我的意思是: 与 我不正确地