是否有任何方法可以使用spring
保护-servlet.xml文件中的数据库密码<bean id="dataSource" class="org.springframework.jdbc.datasource.DriverManagerDataSource">
<property name="driverClassName"><value>com.mysql.jdbc.Driver</value></property>
<property name="url"><value>jdbc:mysql:///BUSINESS</value></property>
<property name="username"><value>root</value></property>
<property name="password"><value>password</value></property>
</bean>
答案 0 :(得分:2)
内置,没有。但您可以查看this blogpost,其中显示如何扩展DataSource
以提供密码的AES加密。
另一种方法可能是扩展PropertyPlaceholderConfigurer
并处理属性的AES(或RSA)加密。
但是,正如链接的博客帖子的评论中所述,将密钥存储在同一文件中并不会增加显着的安全性 - 它只会增加混淆。因此,在上述两种方法中,您必须从另一个位置获取AES / RSA密钥,可能仅对启动应用程序服务器的用户可访问(这与操作系统安全性有关)。
答案 1 :(得分:1)
通常采取的方法是将密码存储在生产计算机上的外部属性文件中。然后可以限制对此文件的访问。
请参阅此处了解如何配置弹簧部分: