服务器之家:专注于VPS、云服务器配置技术及软件下载分享
分类导航

PHP教程|ASP.NET教程|Java教程|ASP教程|编程技术|正则表达式|C/C++|IOS|C#|Swift|Android|VB|R语言|JavaScript|易语言|vb.net|

服务器之家 - 编程语言 - Java教程 - 关于Springboot数据库配置文件明文密码加密解密的问题

关于Springboot数据库配置文件明文密码加密解密的问题

2022-10-09 14:08豆趣编程 Java教程

这篇文章主要介绍了Springboot数据库配置文件明文密码加密解密的问题,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下

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

1.pom.xml引入依赖

?
1
2
3
4
5
<dependency>
   <groupId>com.github.ulisesbocchio</groupId>
   <artifactId>jasypt-spring-boot-starter</artifactId>
   <version>2.1.0</version>
</dependency>

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

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
//给配置文件加密
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中添加配置

?
1
2
3
4
5
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()把字符串包住才行。

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

到此这篇关于Springboot数据库配置文件明文密码加密解密的文章就介绍到这了,更多相关Springboot数据库密码加密解密内容请搜索服务器之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持服务器之家!

原文链接:https://blog.csdn.net/lianzhang861/article/details/123555635

延伸 · 阅读

精彩推荐
  • Java教程SpringMVC实现数据绑定及表单标签

    SpringMVC实现数据绑定及表单标签

    这篇文章主要为大家详细介绍了SpringMVC实现数据绑定及表单标签的相关资料,具有一定的参考价值,感兴趣的小伙伴们可以参考一下 ...

    MrSaber5212020-08-26
  • Java教程Java实体映射工具MapStruct使用方法详解

    Java实体映射工具MapStruct使用方法详解

    MapStruct是用于代码中JavaBean对象之间的转换,例如DO转换为DTO,DTO转换为VO,或Entity转换为VO等场景,这篇文章主要给大家介绍了关于Java实体映射工具MapStruct使用的...

    AnakinSky6652022-07-13
  • Java教程浅析JAVA 循环结构

    浅析JAVA 循环结构

    这篇文章主要介绍了JAVA 循环结构的相关资料,文中讲解的非常细致,示例代码帮助大家更好的理解和学习,感兴趣的朋友可以了解下...

    菜鸟教程4582020-07-19
  • Java教程Spring @Configuration和@Component的区别

    Spring @Configuration和@Component的区别

    今天小编就为大家分享一篇关于Spring @Configuration和@Component的区别,小编觉得内容挺不错的,现在分享给大家,具有很好的参考价值,需要的朋友一起跟随小...

    isea5334272019-06-27
  • Java教程springboot中Excel文件下载踩坑大全

    springboot中Excel文件下载踩坑大全

    本文主要介绍了springboot中Excel文件下载,但是却容易遇到很多坑,文中通过示例代码介绍的非常详细,感兴趣的小伙伴们可以参考一下...

    斗者_20137232021-09-30
  • Java教程@feignclient名字冲突的解决方案

    @feignclient名字冲突的解决方案

    这篇文章主要介绍了@feignclient名字冲突的解决方案,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教...

    微风灬浮尘4092022-02-24
  • Java教程java不通过配置文件初始化logger示例

    java不通过配置文件初始化logger示例

    这篇文章主要介绍了java不通过配置文件初始化logger示例,需要的朋友可以参考下 ...

    Java教程网3262019-11-22
  • Java教程JDBC使用游标实现分页查询的方法

    JDBC使用游标实现分页查询的方法

    这篇文章主要介绍了JDBC使用游标实现分页查询的方法,实例分析了jdbc查询过程中游标的使用及查询分页相关实现技巧,需要的朋友可以参考下 ...

    々上善若水々7212020-06-06