1.引入依赖
<dependency>
<groupId>com.github.ulisesbocchio</groupId>
<artifactId>jasypt-spring-boot-starter</artifactId>
<version>3.0.2</version>
</dependency>
2.生成public key 和private key,可以网上在线生成http://www.metools.info/code/c80.html
3.将公钥私钥保存为文件
4.使用公钥加密用户名和密码得到密文,
public class GenerateEncryUtils {
public static void main(String[] args) {
SimpleAsymmetricConfig config = new SimpleAsymmetricConfig();
config.setKeyFormat(KeyFormat.PEM);
config.setPublicKey("-----BEGIN PUBLIC KEY-----\r\n" +
"MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAoIogBPmly4Z104zmD5VL\r\n" +
"gs5sj2Iu5DNWXX2KNIRgqnW6eIfNHPWOoXA6Nq5Waw064iA32LeOVGger4GdZp9t\r\n" +
"FZSdk9kGwCekzy0nAC/pIfjJsCmsi9X7Xs+tVRnettkjonVhqI2hmrN2iO73oBDk\r\n" +
"SVZm0sDEXInu13RbXvKoUo1RTDCRdSMO8uYV/I+ygiV7/IdwEiB4k5c9j4RmWmMj\r\n" +
"4dWk9miHjdMzziAnRUc3BzeRTdu4DIW9oupV8JYwK6FNonv3pbVU4dOfzAdPQzHI\r\n" +
"4odCBCE4oXrVoQpn/c9JzYVG0/qOijyeHFgAF9q19XqG7nALHVgS3m2skyrFwBa6\r\n" +
"BwIDAQAB\r\n" +
"-----END PUBLIC KEY-----\r\n" +
"");
StringEncryptor encryptor = new SimpleAsymmetricStringEncryptor(config);
String username = "username";
String password = "password";
String enName = encryptor.encrypt(username);
String enPsw = encryptor.encrypt(password);
System.out.println("Encrypted username :"+enName);
System.out.println("Encrypted password :"+enPsw);
}
}
5.使用得到的密文配置数据库用户名和密码,通过ENC()修饰,
配置文件中还需要配置私钥和解密方式:
jasypt.encryptor.privateKeyFormat=PEM
jasypt.encryptor.privateKeyLocatio=classpath:encryptor/pri-key.pem
如果使用了阿波罗配置中心,需要在配置中心中修改并发布