xxcbz

1.首先导入依赖

<dependency>
            <groupId>com.github.ulisesbocchio</groupId>
            <artifactId>jasypt-spring-boot-starter</artifactId>
            <version>2.1.0</version>
</dependency>

  2.将账户密码连接等需要加密的数据进行加密

package com.lrhealth.mappingintegration.Test;

import org.jasypt.properties.PropertyValueEncryptionUtils;
import org.jasypt.util.text.BasicTextEncryptor;

/**
 * ClassName: Test
 * Description:
 *
 * @author pangyq
 * date: 2021/11/19 9:42
 */
public class Test {

    public static void main(String[] args) {
        //mysql加密
        encode("jdbc:mysql://localhost:3306/mapping_integration?allowMultiQueries=true&useUnicode=true&characterEncoding=utf-8&serverTimezone=GMT%2b8");
        encode("root");
        encode("root");
    }
    //盐值
        private static final String salt = "Mappinggd6Tsjckd87xGy6H1JGb47G2H72";

        private static BasicTextEncryptor basicTextEncryptor = new BasicTextEncryptor();

        static {
            basicTextEncryptor.setPassword(salt);
        }

        /**
         * 明文加密
         * @param plaintext
         * @return
         */
        public static String encode(String plaintext){
            System.out.println("明文字符串:" + plaintext);
            String ciphertext = basicTextEncryptor.encrypt(plaintext);
            System.out.println("加密后字符串:" + ciphertext);
            return ciphertext;
        }

        /**
         * 解密
         * @param ciphertext
         * @return
         */
        public static String decode(String ciphertext){
            System.out.println("加密字符串:" + ciphertext);
            ciphertext = "ENC(" + ciphertext + ")";
            if (PropertyValueEncryptionUtils.isEncryptedValue(ciphertext)){
                String plaintext = PropertyValueEncryptionUtils.decrypt(ciphertext,basicTextEncryptor);
                System.out.println("解密后的字符串:" + plaintext);
                return plaintext;
            }
            System.out.println("解密失败");
            return "";
        }
    }

  

3.将配置文件里的连接地址账户密码更换成加密后的,注意格式

ENC(加密后的数据)

 

 4.盐值可以放在配置文件里,但是不推荐

打开启动配置

 

 

 

 -Djasypt.encryptor.password=你的密钥就是盐

点击apply然后保存,ok

5.如果你想打包部署的话,就需要在命令后面加

java -jar mdm-admin.jar --jasypt.encryptor.password=

  在你的启动命令后面加--jasypt.encryptor.password=加你的盐值

 

分类:

技术点:

相关文章: