亲宝软件园·资讯

展开

Springboot数据库密码加密解密

豆趣编程 人气:12

有时候因为安全问题,需要把配置文件的中数据库用户名密码由明文改成密文,大多数其实是为了应付甲方而已。

1.pom.xml引入依赖

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

2.自己想一个秘钥,然后弄一个main方法来测试和生成加密串,下面例子把“password”当做秘钥,加密 xiaoming 字符串。同样可以把加密的打印出来,放到解密里面去验证一下

//给配置文件加密
public static void main(String[] args) {
 
    // 加密
    BasicTextEncryptor textEncryptor = new BasicTextEncryptor();
    //自己设置的秘钥
    textEncryptor.setPassword("password");
    String userName = textEncryptor.encrypt("xiaoming");
    System.out.println(userName);
    // 解密
    BasicTextEncryptor textEncryptor2 = new BasicTextEncryptor();
    textEncryptor2.setPassword("password");
    String oldPassword = textEncryptor2.decrypt("avU0Q/XfNMXcgOgowdcfLfB1FDdApc292pzeq8/uvrllChedBJvj4A==");
    System.out.println(oldPassword);
    System.out.println("--------------------------");
}

3.springboot配置文件 application.properties中添加配置

jasypt.encryptor.password=password
spring.datasource.driver-class-name=oracle.jdbc.OracleDriver
spring.datasource.url=jdbc:oracle:thin:@192.168.100.123:7029:base
spring.datasource.username=ENC(c31B0jWJp3EGFwqSkrUzhY//4CY/sO)
spring.datasource.password=ENC(+KUeW5dB03CxJYz9oVV2flbYW5xs1+)

要先声明秘钥,然后把刚main方法中加密出来的字符串替换原来的,注意一定要用ENC()把字符串包住才行。

然后重启就完事,就是这么简单。

加载全部内容

相关教程
猜你喜欢
用户评论