Java Spring应用程序上下文加密

Java Spring应用程序上下文加密,java,spring,aes,applicationcontext,Java,Spring,Aes,Applicationcontext,是否有任何方法可以加密应用程序上下文条目,例如: <bean id="securityDataSource" class="org.springframework.jdbc.datasource.DriverManagerDataSource"> <property name="driverClassName" value="com.mysql.jdbc.Driver"/> <property name="url" value="jdbc:mysql

是否有任何方法可以加密应用程序上下文条目,例如:

<bean id="securityDataSource" class="org.springframework.jdbc.datasource.DriverManagerDataSource">
    <property name="driverClassName" value="com.mysql.jdbc.Driver"/>
    <property name="url" value="jdbc:mysql://192.168.0.1/schemaname?useUnicode=true&amp;characterEncoding=utf-8"/>
    <property name="username" value="{this should be encrypted}"/>
    <property name="password" value="{this should be encrypted}"/>     
</bean> 


我想做的是加密用户名和密码。

因为我知道没有加密



但是,您可以在应用程序服务器上下文中外部化属性或完整的数据源

您需要使用propertyPlaceHolder将属性外部化。一旦这样做,您就可以使用支持加密的属性占位符版本。

您可以创建一个jndi连接。例如,在tomcat context.xml中添加。 这样,您就不会在应用程序或属性文件中存储任何信息。 当然,您必须将权限设置为context.xml

<Resource name="jdbc/[YourDatabaseName]" 
              auth="Container"
              type="javax.sql.DataSource" 
              username="[DatabaseUsername]" 
              password="[DatabasePassword]"
              driverClassName="com.mysql.jdbc.Driver"
              url="jdbc:mysql://[yourserver]:3306/[yourapplication]"
              maxActive="15" 
              maxIdle="3"/>

您好,谢谢您提供的信息。我们的团队测试了Jasypt,它成功了。:)