Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/spring/13.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 加密/解密属性文件中密码的安全解决方案_Java_Spring_Encryption_Jasypt - Fatal编程技术网

Java 加密/解密属性文件中密码的安全解决方案

Java 加密/解密属性文件中密码的安全解决方案,java,spring,encryption,jasypt,Java,Spring,Encryption,Jasypt,我正在寻找一种将加密文本存储在属性文件中,然后动态解密的方法,这种方法允许: 在属性文件中以加密形式存储密码 当Spring从占位符读取该属性时,它会自动解密该属性并加载纯文本值 在网上搜索之后,我只找到了。我给了它一个测试运行,它做了我需要的,但它似乎被放弃了?(上次提交活动是2年前) 到目前为止,我已经替换了Spring的PropertyPlaceHolderConfigure来检测加密的值,并在加载之前对它们进行解密,并设法使其工作 然而,由于它的安全性,我有点担心滚动我自己的解决方案

我正在寻找一种将加密文本存储在属性文件中,然后动态解密的方法,这种方法允许:

  • 在属性文件中以加密形式存储密码
  • 当Spring从占位符读取该属性时,它会自动解密该属性并加载纯文本值
在网上搜索之后,我只找到了。我给了它一个测试运行,它做了我需要的,但它似乎被放弃了?(上次提交活动是2年前)

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

然而,由于它的安全性,我有点担心滚动我自己的解决方案不是最好的方法。在托管我自己的加密/解密功能时(即使我在下面使用Java的内置函数),我是否应该知道一些编码细节?或者,与我自己的项目相比,进行一个可能被放弃但众所周知的项目更安全吗

多谢各位


编辑:编辑以保持主题不变

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

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

要求我们推荐或查找一本书、工具、软件库、教程或其他非现场资源的问题对于堆栈溢出来说是离题的,因为它们往往会吸引固执己见的答案和垃圾邮件。相反,请描述问题以及迄今为止为解决该问题所做的工作。难道不可能对密码使用哈希代码而不是加密密码吗?不,因为尽管密码必须在属性文件中受到保护,但必须以纯文本形式发送(例如,我无法将DB密码的哈希发送到DB)。由于散列只是单向的,我将无法使用密码,因此选择加密。要求我们推荐或查找书籍、工具、软件库、教程或其他非现场资源的问题对于堆栈溢出来说是离题的,因为它们往往会吸引自以为是的答案和垃圾邮件。相反,请描述问题以及迄今为止为解决该问题所做的工作。难道不可能对密码使用哈希代码而不是加密密码吗?不,因为尽管密码必须在属性文件中受到保护,但必须以纯文本形式发送(例如,我无法将DB密码的哈希发送到DB)。因为散列只是单向的,所以我不能使用密码,因此选择了加密。而且不必担心缺乏支持,或者Jasypt与它使用的任何第三方软件过时(例如,停止与最新的spring版本兼容)?或者您的开发团队是否正在考虑在需要时自行实施所需的更改?而且不必担心缺少支持,或者Jasypt与它使用的任何第三方软件过时(例如,停止与最新的spring版本兼容)?或者,如果需要,您的开发团队是否正在考虑自己实施所需的更改?