今天爱分享给大家带来druid 数据库密码加解密方法【图文详解】,希望能够帮助到大家。
密码安全越来越重要,尤其是数据库的密码,所以非常有必要进行加密,druid从1.0.16版本就开始使用非对称加密方式,需要公私钥
这里就只考虑druid 1.0.16版本之后的加解密
准备环境,java 环境和 druid 的jar包
方法一
运行cmd 窗口,进入下面路径
然后输入下面的命令,注意版本号对应,以密码123456为例
java -cp druid-1.1.9.jar com.alibaba.druid.filter.config.ConfigTools 123456
方法二
import com.alibaba.druid.filter.config.ConfigTools;
import com.alibaba.druid.util.DruidPasswordCallback;
/**
* ClassName: DruidPasswordUtil
* Version: 1.0
* Description: druid 加密解密
*/
public class DruidPasswordUtil extends DruidPasswordCallback {
public static void main(String[] args) throws Exception{
//密码明文
String password = "123456";
//获取公私钥
String [] keyPair = ConfigTools.genKeyPair(512);
String privateKey = keyPair[0];
String publicKey = keyPair[1];
System.out.println("privateKey:"+privateKey);
System.out.println("publicKey:"+publicKey);
//用私钥加密后的密文
password = ConfigTools.encrypt(privateKey, password);
System.out.println("私钥加密后===:"+password);
//用公钥加密后的密文
String decryptPassword=ConfigTools.decrypt(publicKey, password);
System.out.println("公钥解密后===:"+decryptPassword);
}
}
最后
最后把加密后的密文配置到配置文件中 application.properties
jdbc.datasource.password=JaXheKJloV/fhaVNESbXz97MdvucFsfcgm/I1E1Y4PWkNocw1Grr7hYFV4An1ZfLFJ6LODUM+zPtRVJpFzg3nQ==
jdbc.publickey=MFwwDQYJKoZIhvcNAQEBBQADSwAwSAJBAMThZD/2Qj9GN/Z7g/1SMIuRmZAKXddEwmc8ovM2kMS/0TIZr+jYiacL9VFEMuOp55qHn45Ue2Wi6njcPYaKfH8CAwEAAQ==