SpringBoot使用jasypt加解密密码的实现方法

这篇文章主要介绍了SpringBoot使用jasypt加解密密码的实现方法,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下

jasypt是一个通用的加解密库,我们可以使用它在配置文件中对数据库密码进行加密,以确保其安全性。

1、注入依赖

com.github.ulisesbocchiojasypt-spring-boot-starter2.1.1

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:Mavenrepositoryorgjasyptjasypt1.9.2jasypt-1.9.2.jar org.jasypt.intf.cli.JasyptPBEStringEncryptionCLI input="密钥(abcderf)" password=root(加密的密码) algorithm=PBEWithMD5AndDES

然后复制密文即可

2、代码生成(这种方法没有使用过 参考链接:https://www.html.cn/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加解密密码内容搜索编程之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持编程之家!

相关文章

HashMap是Java中最常用的集合类框架,也是Java语言中非常典型...
在EffectiveJava中的第 36条中建议 用 EnumSet 替代位字段,...
介绍 注解是JDK1.5版本开始引入的一个特性,用于对代码进行说...
介绍 LinkedList同时实现了List接口和Deque接口,也就是说它...
介绍 TreeSet和TreeMap在Java里有着相同的实现,前者仅仅是对...
HashMap为什么线程不安全 put的不安全 由于多线程对HashMap进...