开发的同学们都知道,例如项目依赖的信息,数据库信息一般是保存在配置文件中,而且都是明文,因此需要进行加密处理,今天在这里介绍下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 有兴趣的同学可以去研究一下。

最后,配置过程有啥问题可以给我留言,谢谢支持。
———————
作者:CCK0124
来源:CSDN
原文:https://blog.csdn.net/kecong532664/article/details/82257931
版权声明:本文为博主原创文章,转载请附上博文链接!

MariaDB Galera Cluster 部署(如何快速部署 MariaDB 集群)

MariaDB 作为 Mysql 的一个分支,在开源项目中已经广泛使用,例如大热的 openstack,所以,为了保证服务的高可用性,同时提高系统的负载能力,集群部署是必...

阅读全文

修改使用Alpine Linux的Docker容器的时区

适用对象 使用 Alpine Linux 发行版的 Docker 镜像容器。仅仅适用于没有安装uclibc的系统。 修改步骤 进入容器命令行 # docker exec -it contain...

阅读全文

CentOS下shadowsocks-libev一键安装脚本

本脚本适用环境: 系统支持:CentOS 内存要求:≥128M 日期:2018 年 06 月 01 日 关于本脚本: 一键安装 libev 版的 Shadowsocks 最新版本。该版本的特点...

阅读全文

欢迎留言