Druid密码加解密

本文介绍了如何使用Druid库对数据库密码进行加密和解密。首先,通过Maven引入Druid的jar包,然后使用`java -cp`命令生成公钥和私钥,并将加密后的密码填入Druid配置。当需要解密时,创建一个继承自DruidPasswordCallback的类,并在main方法中调用ConfigTools.decrypt()方法解密密码。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

数据库密码加密:

  1. maven引入druid jar包
    <dependency>
        <groupId>com.alibaba</groupId>
        <artifactId>druid</artifactId>
        <version>1.0.26</version>
    </dependency>

     

  2. 在本地找到jar包所处目录,如:

     
  3. 打开cmd,定位到所在目录,执行指令:java -cp druid-1.0.26.jar com.alibaba.druid.filter.config.ConfigTools 你的密码(示例为123456):
    D:\>cd D:\Maven Repository\com\alibaba\druid\1.0.26
    
    D:\Maven Repository\com\alibaba\druid\1.0.26>java -cp druid-1.0.26.jar com.alibaba.druid.filter.config.ConfigTools 123456
    
    privateKey:MIIBVQIBADANBgkqhkiG9w0BAQEFAASCAT8wggE7AgEAAkEApv6OOLXt7kfMFDo0s1xAqiVwQBa1c80epzqmC+aiWS1R+nZ/SlD5QCgo8l3NAwDkEG/GN/v5Ei2Zl8ZCMRnvZQIDAQABAkArAGnHGLIIJdzbaJGhjiPorHNXTYG0LCG0llmjvuQXajP3ENUkEGGnHF5Z7GkwZ41+SgFMQwBOH6peQ361/DsBAiEA94d43e6RzM7ud2Op35ByL3FsCiPfY4wHCIBBZM5Gw1UCIQCstYrTGcROIE+jBUlE7sD6jghKsqiPMktUgY5BTNCb0QIhAJdvs1ub3Gl/5Fb4i3Iybhlme+HMRpwhjCAAT4G7zYEtAiARSO4G6JpD82nk9994XajEqrhbuXuzMSZm47x3/pcWMQIhAJTRi/CGEkO8WSF1/hfs/Pkx2pVOppXHWjqBcBw1gEuK
    
    publicKey:MFwwDQYJKoZIhvcNAQEBBQADSwAwSAJBAKb+jji17e5HzBQ6NLNcQKolcEAWtXPNHqc6pgvmolktUfp2f0pQ+UAoKPJdzQMA5BBvxjf7+RItmZfGQjEZ72UCAwEAAQ==
    
    password:PIeBoHtkHdJ3uxp54d1pdb3SgLKH2VAgWvEjmCiAsTVujtyVd3usn5qzu7vJ39/0uSZW+pJQZ/TbACWFP8Pb5Q==

     

  4. 此时获取到公钥publicKey,私钥privateKey,以及密码password,将加密的password填入publicKey分别填入druid的配置中

 

数据库密码解密:

  1. 创建一个DesPassword类写main方法,继承druid中的DruidPasswordCallback类。
  2. 在main方法中引用ConfigTools.decrypt(publickey, password)方法,填入已知的公钥和密码。
  3. 打印结果,done
    
    import com.alibaba.druid.filter.config.ConfigTools;
    import com.alibaba.druid.util.DruidPasswordCallback;
    
    
    
    public class DesPassword extends DruidPasswordCallback {
    
        public static void main(String[] args) throws Exception{
            String publickey = 填入公钥;
            String password = 填入密码;
            String pwd = ConfigTools.decrypt(publickey, password);
    
            System.out.println(pwd);
        }
    }
    

     

评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值