SpringBoot使用jasypt加解密密码的实现方法
更新时间:2020年10月17日 12:27:44 作者:想做一个小孩的杨先生
这篇文章主要介绍了SpringBoot使用jasypt加解密密码的实现方法,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
jasypt是一个通用的加解密库,我们可以使用它在配置文件中对数据库密码进行加密,以确保其安全性。
1、注入依赖
<dependency> <groupId>com.github.ulisesbocchio</groupId> <artifactId>jasypt-spring-boot-starter</artifactId> <version>2.1.1</version> </dependency>
2、配置文件
#以数据库密码加密为例 ## 数据源配置 spring.datasource.url=jdbc:mysql://lochost:3306/jasypt?characterEncoding=utf8 spring.datasource.username=root #Fddt+VfcW5+j5lAbuOXxPB3mGb0iBLLe 是采用jasypt进行加密以后生成的密文 spring.datasource.password=ENC(Fddt+VfcW5+j5lAbuOXxPB3mGb0iBLLe) spring.datasource.driver-class-name=com.mysql.jdbc.Driver #jasypt加密的密匙 jasypt.encryptor.password=abcderf(这个是自己设置的)
那么如何得到这个密文呢?
1、win+r cmd打开命令窗口 在你的maven库中找到 jasypt-1.9.2.jar 包
执行下面的命令
java -cp D:\Maven\repository\org\jasypt\jasypt\1.9.2\jasypt-1.9.2.jar org.jasypt.intf.cli.JasyptPBEStringEncryptionCLI input="密钥(abcderf)" password=root(加密的密码) algorithm=PBEWithMD5AndDES
然后复制密文即可
2、代码生成(这种方法没有使用过 参考链接:https://www.jb51.net/article/197600.htm)
import org.jasypt.util.text.BasicTextEncryptor; public class Test { public static void main(String[] args) { BasicTextEncryptor textEncryptor = new BasicTextEncryptor(); //加密所需的salt(盐) textEncryptor.setPassword("PBEWithMD5AndDES"); //要加密的数据(数据库的用户名或密码) String username = textEncryptor.encrypt("root"); String password = textEncryptor.encrypt("root"); System.out.println("username:"+username); System.out.println("password:"+password); } }
到此这篇关于SpringBoot使用jasypt加解密密码的实现方法的文章就介绍到这了,更多相关SpringBoot加解密密码内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!
相关文章
mybatis-plus配置拦截器实现sql完整打印的代码设计
在使用mybatis-plus(mybatis)的时候,往往需要打印完整的sql语句,然而输出的日志不是很理想,因为sql语句中的关键字段信息都是用?来代替的,所以本文分享了一下自己写了一个拦截器实现了sql完整的打印,需要的朋友可以参考下2024-06-06如何利用Java8 Stream API对Map按键或值排序
这篇文章主要给大家介绍了关于如何利用Java8 Stream API对Map按键或值排序的相关资料,文中通过示例代码介绍的非常详细,对大家的学习或者使用Java8具有一定的参考学习价值,需要的朋友们下面来一起学习学习吧2019-11-11
最新评论