Warm tip: This article is reproduced from serverfault.com, please click

java-在台式机软件中存储凭据的最安全方式

(java - Most secure way of storing credentials in a desktop software)

发布于 2020-12-04 05:30:37

我有一个Java桌面程序,我想以最安全的方式在其中存储登录凭据。我曾考虑过使用数据库,但对此感觉很不好,我宁愿将其存储在用户端本地,但也需要非常安全。该软件基本上围绕安全性而发展。

因此,我考虑过使用几轮非常强的加密(如果可能)。然后,我需要找到如何安全地存储这些凭据。

你将如何进行?你有什么推荐的吗?

Questioner
eden annonay
Viewed
11
tataelm 2020-12-04 14:59:17

如果要将密码存储在数据库中,最优选的方式是对密码进行哈希处理。大多数Web应用程序(例如WordPress)都使用此功能。

你可以使用算法对密码进行加密和解密,但不能“取消散列”密码。

你如何授权?

假设你的密码是“ 12345 ”,并且以散列形式将其存储在数据库中作为“ $ 1 $ O3JMY.Tw $ AdLnLjQ / 5jXF9.MTp3gHv / ”。

因此,每当用户输入密码时,你便会再次对该密码进行哈希处理,并比较两个哈希密码。你不能/不能从数据库中“解密”并进行比较。散列时无法看到用户密码的明文。

检查此链接以了解Java中的哈希: 如何在Java中哈希密码?