springboot对数据库密码加密的实现

 更新时间:2020年12月29日 15:34:33   作者:黑帽子K  
这篇文章主要介绍了springboot对数据库密码加密的实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧

我是黑帽子K,话不多说直接上加密。如有不对,欢迎指正。

开发的同学们都知道,例如项目依赖的信息,数据库信息一般是保存在配置文件中,而且都是明文,因此需要进行加密处理,今天在这里介绍下jasypt集成springboot加密的配置。

首先,这些都是建立在你的springboot项目是能正常运行的前提下。

第一步:pom文件加入依赖,如图:

这里提供一个版本,

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

第二步:生成密钥

找到你本地maven仓库的jasypt的jar包,在该目录下打开cmd命令窗口,如图:

执行

java -cp jasypt-1.9.2.jar org.jasypt.intf.cli.JasyptPBEStringEncryptionCLI input="test" password=test algorithm=PBEWithMD5AndDES

其中input为你的明文密码,这里我演示的是test,password为你的私钥,algorithm这个是一个规则,切勿更改!!!。执行后如图:

简单解释一下,这里的OUTPUT就是加密之后的密文(密码)。这里提供一下cmd复制文本的办法(因为我一开始也不会cmd复制):鼠标右键标记然后选中你要复制的内容,就可以复制啦。

第三步:springboot配置文件中添加配置,如图:

这里我用的是application.yml文件,application.properties文件写成这样:jasypt.encryptor.password=test。

说明:上图第一个password对应第二步中ARGUEMENTS中的password,第二个password对应第二步中OUTPUT中的结果,形式一定要加上ENC(you password),如图所示。

第四步:通过命令解密密码

执行命令

java -cp jasypt-1.9.2.jar org.jasypt.intf.cli.JasyptPBEStringDecryptionCLI input="nhyL4CzSQv/aPxoe7TzpOQ==" password=test algorithm=PBEWithMD5AndDES

结果如下图:

这里到最后就完成了springboot和jasypt的集成啦,是不是非常简单,哈哈。不过有一点要注意哦,千万不要泄露你的配置文件哦(特别是ARGUMENTS里面的password,这个相当于私钥),不然别人可以通过第四步解密你的密码,建议还是把配置文件放在配置中心,类似的有携程的阿波罗https://github.com/ctripcorp/apollo/wiki/Quick-Start,百度的disconf https://github.com/knightliao/disconf 有兴趣的同学可以去研究一下。

最后,配置过程有啥问题可以给我留言,谢谢支持。

到此这篇关于springboot对数据库密码加密的实现的文章就介绍到这了,更多相关springboot 数据库密码加密内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • netty对proxy protocol代理协议的支持详解

    netty对proxy protocol代理协议的支持详解

    这篇文章主要为大家介绍了netty对proxy protoco代理协议的支持详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2022-07-07
  • SpringBoot如何获取Get请求参数详解

    SpringBoot如何获取Get请求参数详解

    SpringBoot为我们封装了许多简便的获取请求参数的方法,下面这篇文章主要给大家介绍了关于SpringBoot如何获取Get请求参数的相关资料,文中通过实例代码介绍的非常详细,需要的朋友可以参考下
    2022-12-12
  • Mybatis框架搭建与简单查询详解

    Mybatis框架搭建与简单查询详解

    本文主要介绍了Mybatis框架搭建与简单查询的相关知识,具有很好的参考价值,下面跟着小编一起来看下吧
    2017-02-02
  • java LinkedList的实例详解

    java LinkedList的实例详解

    这篇文章主要介绍了java LinkedList的实例详解的相关资料,通过本文希望大家能彻底了解掌握这部分内容,需要的朋友可以参考下
    2017-09-09
  • Spring boot创建自定义starter的完整步骤

    Spring boot创建自定义starter的完整步骤

    这篇文章主要给大家介绍了关于Spring boot创建自定义starter的相关资料,文中通过示例代码介绍的非常详细,对大家学习或者使用Spring boot具有一定的参考学习价值,需要的朋友们下面来一起学习学习吧
    2019-09-09
  • 浅析Java虚拟机详解之概述、对象生存法则

    浅析Java虚拟机详解之概述、对象生存法则

    这篇文章主要介绍了Java虚拟机详解之概述、对象生存法则,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2021-04-04
  • Java修改eclipse中web项目的server部署路径问题

    Java修改eclipse中web项目的server部署路径问题

    这篇文章主要介绍了Java修改eclipse中web项目的server部署路径,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2020-11-11
  • Kafka在客户端实现消息的发送与读取

    Kafka在客户端实现消息的发送与读取

    这篇文章主要介绍了Kafka在客户端实现消息的发送与读取,KafkaProducer是用于发送消息的类,ProducerRecord类用于封装Kafka的消息,KafkaProducer的实例化需要指定的参数,Producer的参数定义在 org.apache.kafka.clients.producer.ProducerConfig类中,需要的朋友可以参考下
    2023-12-12
  • 通过实例解析Java List正确使用方法

    通过实例解析Java List正确使用方法

    这篇文章主要介绍了通过实例解析Java List正确使用方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2020-11-11
  • Java 断言 assert的用法详解

    Java 断言 assert的用法详解

    Java assert断言机制是Java5中推出的新特性,它主要用于在程序运行时检查状态或假设的正确性,本篇文章将全面详细地讲解Java assert断言机制,包括断言概述、语法规则、工作原理、使用场景、注意事项以及示例代码等方面,需要的朋友可以参考下
    2023-05-05

最新评论