java—在桌面软件中存储凭据的最安全的方法

ix0qys7i  于 2021-06-30  发布在  Java
关注(0)|答案(1)|浏览(297)

这个问题在这里已经有答案了

如何在操作系统密钥库中存储程序密码(2个答案)
上个月关门了。
我有一个java桌面程序,在其中我想以最安全的方式存储登录凭据。我想过使用一个数据库,但我有一个不好的感觉,我宁愿把它存储在本地的用户端,但我也需要它是非常安全的。软件基本上是围绕着安全。
所以我考虑使用几轮非常强的加密,如果可能的话。然后我需要找到如何安全地存储这些凭据。
你将如何进行?你推荐什么?

3gtaxfhh

3gtaxfhh1#

如果要将密码存储在数据库中,最常用的方法是对密码进行哈希运算。大多数网络应用程序(如wordpress)都使用这种方法。
你可以用一个算法加密和解密密码,但是你不能“解压”密码。
如何授权?
假设您的密码是“12345”,并以散列形式将其存储在数据库中为“$1$o3jmy.tw$adlnljq/5jxf9.mtp3ghv/”。
因此,每当用户输入密码时,您就再次对该密码进行哈希运算,并比较两个哈希运算后的密码。您不能/不能从数据库中“解密”并比较它们。散列时无法看到用户密码的明文。
查看此链接以了解java中的哈希:如何在java中哈希密码?

相关问题