Spring Bootデータベースdruid暗号化


記事の目次
  • Spring Bootデータベースdruid暗号化
  • クライテリア
  • は、ステップ
  • を実現する.
  • は、公開鍵、秘密鍵、暗号化パスワード
  • を生成する.
  • データベース構成を変更するyml
  • 総括
  • Spring Bootデータベースdruid暗号化
    前言
    パスワードが開発者に知られないようにするために、druidデータベースの暗号化について、どうやって実現されるかを紹介します. JAR :druid-1.1.9.jarステップを実行
    公開鍵、秘密鍵、暗号化パスワードを生成する
  • 工具類取得
  • package ba.la.ba.la.common.util;
    
    import com.alibaba.druid.filter.config.ConfigTools;
    
    public class DruidTest {
    
        public static void main(String[] args) throws Exception {
            //     
            String password = "abc@123";
    
            System.out.println("  [ "+password+" ]       :
    "
    ); // , 512, String [] keyPair = ConfigTools.genKeyPair(512); // String privateKey = keyPair[0]; // String publicKey = keyPair[1]; // password = ConfigTools.encrypt(privateKey, password); System.out.println("privateKey:"+privateKey); System.out.println("publicKey:"+publicKey); System.out.println("password:"+password); // String decryptPassword = ConfigTools.decrypt(publicKey, password); System.out.println("decryptPassword:"+decryptPassword); } }
  • 出力結果
  •   [ abc@123 ]       :
    
    privateKey:MIIBVQIBADANBgkqhkiG9w0BAQEFAASCAT8wggE7AgEAAkEA5Ifto6WuKXGnMz5vGpo8X9pJOwnYkaYOIlL5lgqQWjPeKCzHRRCNjB0HWIqzcYnDg1DdKK99k1ADyUwV47nfDwIDAQABAkEAiRxkn4KP852Uy1HyJuvSvU+iECHgJcKTSFSwGi1MXlEN00VMk6pX3en7lW5lIX+XzT2N7BAgjX3MdONwv9v6gQIhAPrCxKzTGzD5JkRDyZomYmvVg2i+mm+XCG/lFFnZuzv3AiEA6U5Cp6R9BW71+JOfH1YPlUO4wZgwyT+IW/x9fgkuv6kCIBzZk68eip5Ty+dGtUca62/knL3MUBBOnBXjkTfVKQl5AiBa87x+eFyY2qofbwVQhQ9sJEuJhVg3jIIPQj51/QRxiQIhALF9y9puZxMiSqwCiMu9lkDFH22t4pvN3oqigTlSrksM
    publicKey:MFwwDQYJKoZIhvcNAQEBBQADSwAwSAJBAOSH7aOlrilxpzM+bxqaPF/aSTsJ2JGmDiJS+ZYKkFoz3igsx0UQjYwdB1iKs3GJw4NQ3SivfZNQA8lMFeO53w8CAwEAAQ==
    password:ygUHR0YYBD0dByVjhX/2/70Q/WOEYVeMutL0eV4hAndFE8/bs1sPhj40xNmy3qeYFISbfJrG0nYGJTQoz/zL3w==
    decryptPassword:abc@123
    
    データベースの設定を変更するyml
  • パスワードを変更する
  • spring:
      datasource:
        #druid    
        druid:
          #    
          url: jdbc:mysql://balabala.aliyuncs.com:3306/bala_database?useUnicode=true&characterEncoding=UTF-8&allowMultiQueries=true
          username: balabala
          password: ygUHR0YYBD0dByVjhX/2/70Q/WOEYVeMutL0eV4hAndFE8/bs1sPhj40xNmy3qeYFISbfJrG0nYGJTQoz/zL3w==
          connection-properties: config.decrypt=true;config.decrypt.key=MFwwDQYJKoZIhvcNAQEBBQADSwAwSAJBAOSH7aOlrilxpzM+bxqaPF/aSTsJ2JGmDiJS+ZYKkFoz3igsx0UQjYwdB1iKs3GJw4NQ3SivfZNQA8lMFeO53w8CAwEAAQ==
          #     filter.config.enabled=true,     
          filter:
            config:
              enabled: true
    
    filter.config.enabled=true, 締め括りをつける
    はい、大成功です