ENCODE - shi-yuan/dynamic-datasource-spring-boot-starter GitHub Wiki
在实际使用中常常会有需求把敏感的连接信息加密.
如果你有使用Druid可使用其加密方法,详细请参考Druid集成章节.
本程序从V2.5.5开始内置加密方法,其核心也是直接拷贝Druid的核心加密源码.
支持url , username, password
的加密.
ENC(xxx) 中包裹的xxx即为使用加密方法后生成的字符串.
spring:
datasource:
dynamic:
datasource:
master:
url: ENC(xxxxx)
username: ENC(xxxxx)
password: ENC(xxxxx)
driver-class-name: com.mysql.jdbc.Driver
获得加密字符串
import com.baomidou.dynamic.datasource.toolkit.CryptoUtils;
public class Demo {
public static void main(String[] args) throws Exception {
String password = "123456";
String encodePassword = CryptoUtils.encrypt(password);
System.out.println(encodePassword);
//自定义publicKey
String[] arr = CryptoUtils.genKeyPair(512);
System.out.println("privateKey:" + arr[0]);
System.out.println("publicKey:" + arr[1]);
System.out.println("password:" + CryptoUtils.encrypt(arr[0], password));
}
}