如何在java应用程序中保护凭据

时间:2015-10-08 10:12:53

标签: java rest

我正在寻找一种方法来保护用于与其他服务通信的凭据。我已将所有凭据存储在属性文件中,并且我从该文件中获取它,这是不正确的方法。我可以做的一件事是以加密格式存储凭证,并获取加密值解密它以获得真实价值或使用首选项来存储这些凭证。有没有人有更好的方法来做到这一点。

2 个答案:

答案 0 :(得分:2)

答案 1 :(得分:1)

在第一种简单的方法中,我认为您可以尝试散列/摘要加密,也就是说,您可以使用MD5,SHA1,SHA256,...来获取无法解密的摘要。

然后,当您要检查某人凭据时,您必须获取所提供凭据的摘要,并根据以前存储的摘要进行检查。

这是一种更安全的方式,它相对简单,您可以继续使用文件来存储加密的摘要。

您使用的是MD5和/或SHA示例,它使用来自Apache Commons Codec的org.apache.commons.codec.digest.DigestUtils

String digestedSHA = DigestUtils.sha256Hex(clearPass);
String digestedMD5 = DigestUtils.md5Hex(clearPass);

简单明了。当然还有更高级的选择。也许你可以从这开始。

希望它有所帮助!