Springboot项目对数据库用户名密码实现加密过程解析
作者:丶sky丶fx 发布时间:2024-01-19 23:02:04
标签:Spring,boot,数据,库,加密
pom.xml文件中引入如下内容
<dependency>
<groupId>com.github.ulisesbocchio</groupId>
<artifactId>jasypt-spring-boot-starter</artifactId>
<version>1.16</version>
</dependency>
保存pom.xml文件,更新jar
将当前路径切换到jasypt包目录下:
使用如下命令进行密码加密:
java -cp jasypt-1.9.2.jar org.jasypt.intf.cli.JasyptPBEStringEncryptionCLI input="password" password=fantasy algorithm=PBEWithMD5AndDES
其中input为需要加密的密码
password为加密时采用的秘钥
algorithm为加密算法,默认算法为PBEWithMD5AndDES
最后得到password加密后的密文:2p9NblOkkwNqsYhDruu5TFPR1RgkL9aH
注意:每次运行得到的结果不一样(不用好奇,都是有效的)
将加密后密码密文配置到spring boot的配置文件的数据源配置选项中
如:spring.datasource.password=ENC(2p9NblOkkwNqsYhDruu5TFPR1RgkL9aH)
在程序中获取到的spring.datasource.password会自动转换成明文内容(password)
注意:密文格式为
ENC(密文)
在java启动的环境变量中设置加密的秘钥
-Djasypt.encryptor.password=fantasy
5.启动项目,正常访问就OK了!
来源:https://www.cnblogs.com/sky-fx/p/13099847.html


猜你喜欢
- MySQL是一个多线程的,结构化查询语言(SQL)数据库服务器。SQL在世界上是最流行的数据库语言。MySQL的执行性能非常高,运行速度非常
- 天我们看看import的有关内容。编程时总是用到import导入,动不动就导入,很简单,但import到底是个什么功能,它的本质是什么?一.
- vue后台返回base64图片无法显示关于后台接口返回的图片base64格式页面无法显示的问题,我遇到的原因是因为返回的一串内容里面存在空格
- 从实时视频流中识别出人脸区域,从原理上看,其依然属于机器学习的领域之一,本质上与谷歌利用深度学习识别出猫没有什么区别。程序通过大量的人脸图片
- 前言django 的 admin 是个非常方便的admin portal,可以根据自己的需要重写.在使用Django自带的admin后台的时
- 前言经典面试题: 判断一个字符串里面的括号是否闭合,如:{{()}} 就是一个闭合的字符串。{{()}]} 这个里面 ([)] 括号不对称,
- 欢欢喜喜辞旧岁 🐰🐰🐰辞旧迎新之际,来 AI Studio 一起 #欢喜迎兔年# !分享不同新年风俗,共享一段快乐时光!🐰🐰🐰p>下面
- 一、前言在调用函数时,大多数情况下,主调函数和被调函用之间有数据传递关系,这就是有参数的函数形式。函数参数的作用是传递数据给函数使用,函数利
- 描述replace() 方法把字符串中的 old(旧字符串) 替换成 new(新字符串),如果指定第三个参数max,则替换不超过 max 次
- YAML是一种直观的能够被电脑识别的的数据序列化格式,容易被人类阅读,并且容易和脚本语言交互。YAML类似于XML,但是语法比XML简单得多
- 使用pix2pix-gan做医学图像合成的时候,如果把nii数据转成png格式会损失很多信息,以为png格式图像的灰度值有256阶,因此直接
- 概述:最近在赶毕业设计,遇到一个问题,爬虫模块我用PyQt5写了图形界面,为了将所有的输出信息都显示到图形界面上遇到了问题。先演示一下效果最
- 代码import numpy as npimport matplotlib.pyplot as pltfrom sklearn.datase
- Asp(Active Server Pages)是Web服务器端脚本编写环境,可以使用Vbscript/Jscript两种脚本来编写.作为我
- 常公司的开发环境都会布置在内网,然后会有公共的服务器让大家在上面进行开发,测试,所以经常会有ssh连接服务器,或者本地mysql clien
- 本文实例为大家分享了python tkinter实现简单计算器的具体代码,供大家参考,具体内容如下效果图直接上代码import tkinte
- 一个事务是一个连续的一组数据库操作,就好像它是一个单一的工作单元进行。换言之,永远不会是完整的事务,除非该组内的每个单独的操作是成功的。如果
- 实验环境:python 3.6 + opencv-python 3.4.14.51建议使用 anaconda配置相同环境背景人脸识别步骤图1
- 1.创建一个类Rectangle,已知a、b求面积,求三角形的面积2.结合题目一,从题目一文件中读取数据,并采用类的方法,将计算的结果写在另
- 功能1: 爬取西拉ip代理官网上的代理ip环境:python3.8+pycharm库:requests,lxml浏览器:谷歌IP地址:htt