![](/img/trans.png)
[英]How to secure Database Credentials for a client-server based Java Desktop Application
[英]How to secure the credentials in java application
在寻找一种方法来保护用于与其他服务通信的凭据。 我已将所有凭据存储在属性文件中,并且正在从该文件中获取它,这是不正确的方法。 我可以做的一件事是以加密格式存储凭据,并获取加密值,将其解密以获取真实值,或使用首选项来存储这些凭据。 有没有人有更好的方法做到这一点。
在第一种简单的方法中,我认为您可以尝试进行哈希/摘要加密,即可以使用MD5,SHA1,SHA256等来获得无法解密的摘要。
然后,当您要检查某人的凭据时,必须获取所提供凭据的摘要,并对照先前存储的摘要对其进行检查。
这是一种更安全的方法,相对简单,您可以继续使用文件来存储加密的摘要。
这里是MD5和/或SHA示例,该示例使用Apache Commons Codec中的org.apache.commons.codec.digest.DigestUtils
:
String digestedSHA = DigestUtils.sha256Hex(clearPass);
String digestedMD5 = DigestUtils.md5Hex(clearPass);
这很简单明了。 当然,还有更多高级选项。 也许您可以从这里开始。
希望能帮助到你!
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.