【问题标题】:What is the best practices in Java for secure storage of data?Java 中安全存储数据的最佳实践是什么?
【发布时间】:2014-06-20 11:07:10
【问题描述】:

我有 java 应用程序,我需要将密码保存到加密文件中。我得到了使用 Windows API 的建议。我发现JDPAPI 什么是围绕 MS DPAPI 的 JNI 包装器。看起来不错。但我想知道是否存在其他库或方法来使用 Windows API 将数据安全存储到文件中?或者是否有一些方法可以在不使用 Windows API 的情况下在 Java 中进行安全存储?我从不使用安全存储。您能谈谈 Java 中使用和不使用 Windows API 的情况下安全存储数据的最佳实践吗?

【问题讨论】:

  • “Java 方式”是密钥库文件。

标签: java security winapi


【解决方案1】:

首先:使用 Windows API 是毫无意义的。即使您无法想象,也有可能必须迁移。

第二:仅当您在应用程序运行时输入加密密钥时,加密存储密码才有意义。如果将其存储在配置文件中,则没有任何意义。

加密密钥输入后可以存储为线程局部变量。

我建议使用属性文件并使用充气城堡加密和解密服务层中的值。这样您就可以在同一个文件中混合加密和未加密的值。

您当然可以使用 Spring 并使用 Spring 安全加密非常轻松地完成必要的工作。

如果我们谈论使用休眠的网络应用程序,我建议使用存储在数据库中的属性并使用 jasypt 进行透明加密。

【讨论】:

    猜你喜欢
    • 2011-12-03
    • 1970-01-01
    • 2011-03-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-01-25
    • 1970-01-01
    相关资源
    最近更新 更多