主要思想:写一个数据加密工具类,将加密后的用户名、密码放在外部属性配置文件中(这里我们放在db.properties里),在创建SqlseetionFacroty时,将外部数次那个文件中的用户名和密码取出来,并解密,再通过Properties类中的setProperty方法,将解密后的参数放进db.properties里(但db.properties文件里并没有被改变),然后通过SqlSessionFactoryBuilder().build(inputStream,properties )创建工厂
这里采用DES加密
db.properties文件:
driver=com.mysql.cj.jdbc.Driver
url=jdbc:mysql://localhost:3306/mybatis?useSSL=true&useUnicode=true&characterEncoding=UTF-8&serverTimezone=Asia/Shanghai
username=DLS2Cdia5Tg=
password=TSOsLeORzYg=
工具类: DesDecodeUtils类
package com.zgl.utlis;
import java.security.Key;
import java.security.SecureRandom;
import java.util.Properties;
import javax.crypto.Cipher;
import javax.crypto.KeyGenerator;
import sun.misc.BASE64Decoder;
import sun.misc.BASE64Encoder;
/**
* DES加密算法工具类
*
* @author zgl
* @date 2020-4-8 下午3:24:14
*/
public class DesDecodeUtils {
private static Key key;
private static String KEY_STR = "myKeyRyanCai";// 密钥
private static String CHARSETNAME = "UTF-8";// 编码
private static String ALGORITHM = "DES";// 加密类型
static