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

 更新时间:2022年03月18日 14:09:10   作者:豆趣编程  
这篇文章主要介绍了Springboot数据库配置文件明文密码加密解密的问题,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下

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

1.pom.xml引入依赖

<dependency>
   <groupId>com.github.ulisesbocchio</groupId>
   <artifactId>jasypt-spring-boot-starter</artifactId>
   <version>2.1.0</version>
</dependency>

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

//给配置文件加密
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中添加配置

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数据库密码加密解密内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • Hibernate中获取Session的两种方式代码示例

    Hibernate中获取Session的两种方式代码示例

    这篇文章主要介绍了Hibernate中获取Session的两种方式代码示例,具有一定借鉴价值,需要的朋友可以参考下。
    2017-12-12
  • SpringBoot整合JPA详细代码实例

    SpringBoot整合JPA详细代码实例

    这篇文章主要给大家介绍了关于SpringBoot整合JPA的相关资料,JPA(Java Persistence API)是Sun官方提出的Java持久化规范,它为Java开发人员提供了一种对象/关联映射工具来管理Java应用中的关系数据,需要的朋友可以参考下
    2024-05-05
  • Spring创建bean的几种方式及使用场景

    Spring创建bean的几种方式及使用场景

    本文主要介绍了Spring创建bean的几种方式及使用场景,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2023-04-04
  • 解决IDEA中maven导入jar包一直报错问题

    解决IDEA中maven导入jar包一直报错问题

    这篇文章主要介绍了解决IDEA中maven导入jar包一直报错问题,本文通过实例图文的形式给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2020-04-04
  • springboot打印接口调用日志的实例

    springboot打印接口调用日志的实例

    这篇文章主要介绍了springboot打印接口调用日志的实例,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2022-09-09
  • MyBatis详细执行流程的全纪录

    MyBatis详细执行流程的全纪录

    这篇文章主要给大家介绍了关于MyBatis详细执行流程的相关资料,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2021-04-04
  • idea2020.3测试评价及感受

    idea2020.3测试评价及感受

    idea2020.3版本这次变化最大的也就是 UI了完全抛弃了之前一直使用的模板更改成了新的样式,感兴趣的朋友快来下载体验下吧
    2020-10-10
  • Spring Cache整合Redis实现方法详解

    Spring Cache整合Redis实现方法详解

    这篇文章主要介绍了Spring Cache整合Redis实现方法详解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2020-08-08
  • Java中的notyfy()和notifyAll()的本质区别

    Java中的notyfy()和notifyAll()的本质区别

    很多朋友对java中的notyfy()和notifyAll()的本质区别不了解,今天小编抽空给大家整理一篇教程关于Java中的notyfy()和notifyAll()的本质区别,需要的朋友参考下吧
    2017-02-02
  • java操作cookie示例(删除cookie)

    java操作cookie示例(删除cookie)

    这篇文章主要介绍了java操作cookie示例,包括设置Cookie、读取Cookie、删除Cookie,需要的朋友可以参考下
    2014-02-02

最新评论