我有java应用程序,我需要保存密码到加密文件。我得到了使用Windows API的建议。我在MS周围找到了JDPAPI,什么是JNI。看起来不错。但我想知道是否存在其他库或方法来使用Windows API将数据安全地存储到文件中?或者,在不使用Windows API的情况下,Java中是否存在一些安全存储的方法?我从不使用安全存储。您能和我谈谈Java在使用和不使用Windows API的情况下实现数据安全存储的最佳实践吗?
发布于 2014-06-20 19:28:02
首先:使用Windows API是一种毫无意义的做法。即使你无法想象,你也有可能不得不迁移。
第二:只有在应用程序运行时输入加密密钥时,存储加密的密码才有意义。如果将其存储在配置文件中,则没有任何意义。
在输入加密密钥之后,可以将其存储为线程局部变量。
我建议使用属性文件,并使用bouncy castle对服务层中的值进行加密和解密。这样,您就可以在同一文件中混合使用加密和未加密的值。
当然,您可以使用Spring,并使用Spring安全加密非常容易地完成必要的工作。
如果我们讨论的是使用hibernate的web应用程序,我建议使用存储在数据库中的属性,并使用jasypt进行透明加密。
https://stackoverflow.com/questions/24325871
复制相似问题