【发布时间】:2014-12-11 14:56:03
【问题描述】:
我正在创建一个基于 Java 的桌面应用程序。
我需要在其中存储一个密码,以便每当有人尝试访问该应用程序时,它都会要求输入密码。我已经使用 BCrypt 加密了密码,所以它(希望)是安全的。
但是,我需要将密码存储在安全的地方。最初,我考虑将其存储在 Windows 注册表中(因为我的应用程序是特定于 Windows 的)。但是,任何人都可以编辑或删除注册表项,这是非常不安全的。
因此,我需要将密码存放在用户无法访问或修改(绝对不能删除)的地方。
存储(已经加密的)密码最安全的方法是什么?
如果您是 Java 特定的,那将很有帮助。
编辑
有人指出我应该使用数据库来安全地存储密码。
我试了一下,成功将密码存入数据库,并进一步找回。
但是,即使数据库也需要存储在某个地方,因此如果数据库被删除,密码也会被删除。因此这是不安全的。
在这种情况下我应该怎么做?
【问题讨论】:
-
为什么不使用数据库?
-
字面上写的是@Karthikeyan - 毕竟,它们旨在安全地存储数据
-
@MrCoder - 我尝试过使用数据库,但是,即使数据库也需要存储在某个地方,如果数据库被删除,密码也会消失!我现在该怎么办?
-
@Karthikeyan - 我尝试过使用数据库,但是,即使数据库也需要存储在某个地方,如果数据库被删除,密码也会消失!我现在该怎么办?
-
@PratanuMandal,将数据库存储在云中怎么样?你考虑过那个选项吗?另外,如果您将数据库设为只读,那会不会更安全?
标签: java security passwords registry storage