这篇文章主要介绍了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加解密密码内容请搜索编程之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持编程之家!
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。