Java 当使用Jaspyt加密Spring属性文件时,环境变量真的是存储主密码的安全场所吗?
我在Java项目中使用Jaspyt和Spring3。我当前将数据库连接属性存储在属性文件中。用户名和密码是纯文本,所以我一直在研究如何使用Jaspyt的EncryptablePropertyPlaceHolderConfigure 文档和教程建议将用于解密的主密码存储在环境变量中。这真的比在属性文件中存储纯文本值更安全吗?如果有人破坏了该框,主密码在(1)环境变量或(2)服务器启动脚本中不可见吗?我想您可以手动设置环境变量,并在服务器启动后将其取消设置,但手动设置的过程似乎无法管理Java 当使用Jaspyt加密Spring属性文件时,环境变量真的是存储主密码的安全场所吗?,java,spring,configuration-files,jasypt,Java,Spring,Configuration Files,Jasypt,我在Java项目中使用Jaspyt和Spring3。我当前将数据库连接属性存储在属性文件中。用户名和密码是纯文本,所以我一直在研究如何使用Jaspyt的EncryptablePropertyPlaceHolderConfigure 文档和教程建议将用于解密的主密码存储在环境变量中。这真的比在属性文件中存储纯文本值更安全吗?如果有人破坏了该框,主密码在(1)环境变量或(2)服务器启动脚本中不可见吗?我想您可以手动设置环境变量,并在服务器启动后将其取消设置,但手动设置的过程似乎无法管理 我只是多疑吗
我只是多疑吗?是否有一种方法可以保护您的连接用户名和密码 存储明文密码从来都不是一个安全的过程。接管服务器的攻击者在任何情况下都可以访问您的密码。 如果手动输入不是一个选项(通常),您只能为您的团队的一部分隐藏密码。如果不想公开数据库密码,请使用JNDI数据库连接。这使得密码仅对应用程序服务器管理员可见。Jasypt建议使用来解决此问题。但正如他们在本节中所说,每次在web控制台中重新部署应用程序时,都必须重置密码。