org.jasypt jasypt-spring31 1.9.2 org.jasypt jasypt 1.9.2
其中spring采用的版本是3.2.8.RELEASE
application.xml的配置- 首先配置加密机
如果想在配置文件中使用环境变量的话,比如把 example 注入到环境变量里
可以使用如下代码替换 example,需要在系统环境变量中加入 ENV_VARIABLE_NAME=example
#{systemEnvironment['ENV_VARIABLE_NAME']}
例如:
- 配置加密器
- 读取配置文件
classpath:properties/jdbc.properties
注意: 此处读取配置文件的类是 EncryptablePropertyPlaceholderConfigurer 并不是 PropertyPlaceholderConfigurer
明文加密加密方式有两种:
1.使用main()方法加密
public static void main(String[] args) {
BasicTextEncryptor encryptor = new BasicTextEncryptor();
encryptor.setPassword("example");
String encrypted = encryptor.encrypt("root");//密码加密
System.out.println(encrypted);
}
2.使用jar包加密
java -cp jasypt-1.9.2.jar org.jasypt.intf.cli.JasyptPBEStringEncryptionCLI input=root password=example algorithm=PBEWithMD5AndDES替换配置文件
将配置文件中的数据库账号和密码替换,加密后的密文需要使用 ENC() 包括
替换之前
jdbc_driverClassName=com.mysql.jdbc.Driver jdbc_url=jdbc:mysql://localhost:3306/test jdbc_username=root jdbc_password=root
替换之后
jdbc_driverClassName=com.mysql.jdbc.Driver jdbc_url=jdbc:mysql://localhost:3306/test jdbc_username=ENC(juWRm++CX1ZMq3SlmgnVYQ==) jdbc_password=ENC(juWRm++CX1ZMq3SlmgnVYQ==)



