【发布时间】:2016-04-28 01:45:28
【问题描述】:
我正在寻找一种将加密文本存储在属性文件中的方法,然后动态解密它,这样可以实现:
- 在属性文件中以加密形式存储密码
- 当 Spring 从占位符读取该属性时,它会自动对其进行解密并加载纯文本值
在网上搜索后,我发现的只是Jasypt。我给了它一个测试运行,它做了我需要的,但它似乎被遗弃了? (上次提交活动是 2 年前)。
到目前为止,我已经替换了 Spring 的 PropertyPlaceholderConfigurer 来检测加密值并在加载之前对其进行解密,并设法让它工作。
但是,由于它是安全的,我有点担心推出自己的解决方案并不是最好的方法。在托管我自己的加密/解密功能时,我应该注意哪些编码细节(即使我在下面使用 Java 的内置函数)?还是选择一个可能被放弃但众所周知的项目比自己动手更安全?
谢谢。
编辑:编辑以保持主题。
【问题讨论】:
-
要求我们推荐或查找书籍、工具、软件库、教程或其他场外资源的问题对于 Stack Overflow 来说是无关紧要的,因为它们往往会吸引固执己见的答案和垃圾邮件。相反,请描述问题以及迄今为止为解决该问题所做的工作。
-
难道不能用哈希码代替加密吗?
-
不,因为虽然密码必须在属性文件中受到保护,但它们必须以纯文本形式发送(例如,我无法将数据库密码的哈希发送到数据库)。由于散列只是单向的,我将无法使用密码,因此选择了加密。
标签: java spring encryption jasypt