【问题标题】:Secure solutions to encrypt / decrypt passwords in property files [duplicate]在属性文件中加密/解密密码的安全解决方案 [重复]
【发布时间】:2016-04-28 01:45:28
【问题描述】:

我正在寻找一种将加密文本存储在属性文件中的方法,然后动态解密它,这样可以实现:

  • 在属性文件中以加密形式存储密码
  • 当 Spring 从占位符读取该属性时,它会自动对其进行解密并加载纯文本值

在网上搜索后,我发现的只是Jasypt。我给了它一个测试运行,它做了我需要的,但它似乎被遗弃了? (上次提交活动是 2 年前)。

到目前为止,我已经替换了 Spring 的 PropertyPlaceholderConfigurer 来检测加密值并在加载之前对其进行解密,并设法让它工作。

但是,由于它是安全的,我有点担心推出自己的解决方案并不是最好的方法。在托管我自己的加密/解密功能时,我应该注意哪些编码细节(即使我在下面使用 Java 的内置函数)?还是选择一个可能被放弃但众所周知的项目比自己动手更安全?

谢谢。

编辑:编辑以保持主题。

【问题讨论】:

  • 要求我们推荐或查找书籍、工具、软件库、教程或其他场外资源的问题对于 Stack Overflow 来说是无关紧要的,因为它们往往会吸引固执己见的答案和垃圾邮件。相反,请描述问题以及迄今为止为解决该问题所做的工作。
  • 难道不能用哈希码代替加密吗?
  • 不,因为虽然密码必须在属性文件中受到保护,但它们必须以纯文本形式发送(例如,我无法将数据库密码的哈希发送到数据库)。由于散列只是单向的,我将无法使用密码,因此选择了加密。

标签: java spring encryption jasypt


【解决方案1】:

我可以保证使用 Jasypt。它完成了它应该做的事情,我与之合作的多个开发团队仍在他们的应用程序中使用它。

【讨论】:

  • 不用担心缺少支持,或者 Jasypt 与它使用的任何第 3 方软件过时(例如,不再与最新的 spring 版本兼容)?或者您的开发团队是否考虑在需要时自行实施所需的更改?
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2011-07-10
  • 2014-11-20
  • 2016-08-03
  • 1970-01-01
  • 1970-01-01
  • 2015-12-29
相关资源
最近更新 更多