本文主要是介绍jasypt实现数据库密码加密,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
1.工程引入依赖
<dependency><groupId>com.github.ulisesbocchio</groupId><artifactId>jasypt-spring-boot-starter</artifactId><version>3.0.3</version></dependency>
2.springboot配置加密密钥
jasypt:encryptor:algorithm: PBEWithMD5AndDESiv-generator-classname: org.jasypt.iv.NoIvGeneratorpassword: 12345
3.生成加密密钥,java代码如下
public static void main(String[] args) {BasicTextEncryptor textEncryptor = new BasicTextEncryptor();//加密所需的salttextEncryptor.setPassword("12345");//要加密的数据(数据库的用户名或密码)String username = textEncryptor.encrypt("root");String password = textEncryptor.encrypt("123abc");System.out.println("username:"+username);System.out.println("password:"+password);}
命令行方式生成:
进入到jasypt所在jar包目录下,打开控制台
input为要加密的字符串,password与bootstrap.yml配置文件中jasypt配置的password保持一致,加密方式采用PBEWithMD5AndDES
java -cp jasypt-1.9.3.jar org.jasypt.intf.cli.JasyptPBEStringEncryptionCLI input=123456abc password=123456 algorithm=PBEWithMD5AndDES
4.更换数据库用户和密码为加密密码,引入pom,不使用加密密码,也可以使用明文密码,不影响
spring:profiles:include: monitor,log,traceredis:host: 127.0.0.1password: ENC(n2thRugQAJud2afNx0yi4g==)## 数据源配置项datasource:##配置使用druid数据源type: com.alibaba.druid.pool.DruidDataSource##配置使用pgsql驱动driver-class-name: org.postgresql.Driver##基本配置 ##&autoReconnect=true&failOverReadOnly=falseurl: jdbc:postgresql://127.0.0.1:3306/test?currentSchema=public&autoReconnect=true&failOverReadOnly=falseusername: ENC(m5BLw4sRcB1sHM3F3TWcGw==)password: ENC(n2thRugQAJud2afNx0yi4g==)
这篇关于jasypt实现数据库密码加密的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!