String length must be a multiple of four. Failed to decrypt.

使用 Druid ,在application.yml 中如果配置了:

druid:
    filters: config
    connection-properties:config.decrypt=true

就表示 要使用密文加密。

找到druid1.0.18.jar包所在的目录(可以到仓库com\alibaba\druid\1.0.18下找到),执行
java -cp druid-1.0.18.jar com.alibaba.druid.filter.config.ConfigTools you_password

会打印出 publicKey 和 password .

除了添加加密后的密码之外,还要告知 解密的pubilcKey是什么:
在 connection-properties中添加 config.decrypt.key 属性(公钥)

druid:
   password: ${password}
   filters: config
   connection-properties:config.decrypt=true;config.decrypt.key=${publicKey}

我的全部Druid配置如下:

druid:
    url: jdbc:mysql://192.168.125.130:3306/whysustore?characterEncoding=utf-8
    driver-class: com.mysql.jdbc.Driver
    username: root
    password: kP/MZSXHWzfuW+LZmNGdHm6OKXdjNxYZIQa7QRln4xswQy7X0DlUUtKL+HPp7RlI2q9zjR89NNrxrFoACCTxEA==
    initial-size: 1
    min-idle: 1
    max-active: 20
    test-on-borrow: true
    max-wait: 60000
    time-between-eviction-runs-millis: 60000
    min-evictable-idle-time-millis: 300000
    validation-query: SELECT 1 FROM DUAL
    test-While-Idle: true
    test-on-return: false
    pool-prepared-statements: false
    max-pool-prepared-statement-per-connection-size: 20
    filters: stat,wall,log4j,config
    connection-properties: druid.stat.mergeSql=true;druid.stat.slowSqlMillis=5000;config.decrypt=true;config.decrypt.key=MFwwDQYJKoZIhvcNAQEBBQADSwAwSAJBAN+RGShQJm81J1kSnGCBqcxt0WOgp/vxpygiIvHP9I0mPrPac2sBGSSl9lVS+XxI8Jc0vRoXkM+yOwYF87YEe4ECAwEAAQ==
    monitor:
          enabled: false
          druid-stat-view: /druid/*
          druid-web-stat-filter: /*
          allow: 219.230.50.107,127.0.0.1
          deny: 192.168.1.73
          login-username: admin
          login-password: kP/MZSXHWzfuW+LZmNGdHm6OKXdjNxYZIQa7QRln4xswQy7X0DlUUtKL+HPp7RlI2q9zjR89NNrxrFoACCTxEA==
          exclusions: '*.js,*.gif,*.jpg,*.png,*.css,*.ico,/druid/*'
          reset-enable: false

猜你喜欢

转载自blog.csdn.net/why_su/article/details/79844209