当前位置:网站首页>配置文件加密(Jasypt的简单使用)
配置文件加密(Jasypt的简单使用)
2022-06-28 14:08:00 【华为云】
title: 配置文件加密(Jasypt的简单使用)
categories: Jasypt
tags: Jasypt
需求引入
当我们需要对SpringBoot项目的配置文件中的信息进行加密时,如数据库密码等,此时我们可以使用Jasypt来实现。
解决方案
第一步,引入Jasypt依赖
<dependency> <groupId>com.github.ulisesbocchio</groupId> <artifactId>jasypt-spring-boot-starter</artifactId> <version>2.0.0</version></dependency>第二步,编写工具类
JasyptUtils:
package com.keafmd.springdemo.utils;import org.jasypt.encryption.pbe.PooledPBEStringEncryptor;import org.jasypt.encryption.pbe.StandardPBEByteEncryptor;import org.jasypt.encryption.pbe.config.SimpleStringPBEConfig;/** * Keafmd * * @ClassName: JasyptUtils * @Description: * @author: 牛哄哄的柯南 * @date: 2022-04-25 11:18 */public class JasyptUtils { /** * Jasypt生成加密结果 * * @param password 配置文件中设定的加密密码 jasypt.encryptor.password * @param value 待加密值 * @return */ public static String encryptPwd(String password, String value) { PooledPBEStringEncryptor encryptOr = new PooledPBEStringEncryptor(); encryptOr.setConfig(cryptOr(password)); String result = encryptOr.encrypt(value); return result; } /** * 解密 * * @param password 配置文件中设定的加密密码 jasypt.encryptor.password * @param value 待解密密文 * @return */ public static String decyptPwd(String password, String value) { PooledPBEStringEncryptor encryptOr = new PooledPBEStringEncryptor(); encryptOr.setConfig(cryptOr(password)); String result = encryptOr.decrypt(value); return result; } /** * @param password salt * @return */ public static SimpleStringPBEConfig cryptOr(String password) { SimpleStringPBEConfig config = new SimpleStringPBEConfig(); config.setPassword(password); config.setAlgorithm(StandardPBEByteEncryptor.DEFAULT_ALGORITHM); config.setKeyObtentionIterations("1000"); config.setPoolSize("1"); config.setProviderName(null); config.setSaltGeneratorClassName("org.jasypt.salt.RandomSaltGenerator"); config.setStringOutputType("base64"); return config; } public static void main(String[] args) { // 加密 // 盐值替换成自己熟悉的口令,此口令为解密密钥,需要妥善保管。 // 盐值也需要在第三步写入配置文件 System.out.println(encryptPwd("keafmd", "123456")); }}第三步,修改配置文件
- 把盐值写入配置文件
- 把明文密码替换为工具类生成的密文,并用ENC()包着
eg:
# 连接数据源spring: datasource: username: root password: ENC(aXcmM77CmYgj67mBxQgI2A==) url: jdbc:mysql://XXXX:XX/tt?useUnicode=true&characterEncoding=UTF-8&useSSL=false jasypt: encryptor: password: keafmd以上就是配置文件加密(Jasypt的简单使用)的全部内容
版权声明:
原创博主:牛哄哄的柯南
个人博客链接:https://www.keafmd.top/
看完如果对你有帮助,感谢点击下面的==一键三连==支持!
[哈哈][抱拳]

加油!
共同努力!
Keafmd
都看到这里了,下面的内容你懂得,让我们共同进步!
边栏推荐
- What does VPS do? What are the famous brands? What is the difference with ECS?
- 木兰开放作品许可证1.0面向社会公开征求意见
- 基于MATLAB的混沌数字图像加密技术研究与仿真实现
- Double buffer drawing
- Only four breakthrough Lenovo smart Summer Palace in mainland China won the "IDC Asia Pacific Smart City Award in 2022"
- iNFTnews | 科技巨头加快进军Web3和元宇宙
- 如何备份mysql_史上最全的MYSQL备份方法
- 药物发现新方法,阿斯利康团队通过课程学习改进从头分子设计
- Websocket automatically disconnects in 1 minute
- Navicat Premium 16 永久破解激活工具及安装教程(亲测可用)
猜你喜欢

New drug discovery methods, AstraZeneca team improves ab initio molecular design through course learning

Kubernetes' in-depth understanding of kubernetes (II) declaring organizational objects

Yii2 writing the websocket service of swoole

Foreign trade SEO Webmaster Tools

药物发现新方法,阿斯利康团队通过课程学习改进从头分子设计

基于asp.net的文献检索系统

Arcgis 矢量中心点生成矩形并裁剪tif图像进行深度学习样本训练

干货 | 科研人的KPI怎么算,H指数和G指数是什么

3. Overall UI architecture of the project

接雨水系列问题
随机推荐
PC博物馆-熟悉又陌生的懵懂年代
VPS是干嘛用的?有哪些知名牌子?与云服务器有什么区别?
En parlant d'exception - que se passe - t - il lorsque l'exception est lancée?
如何设计数据可视化平台
Hundreds of lines of code to implement a JSON parser
sort
Clipping of raster vector data
Websocket automatically disconnects in 1 minute
PC Museum - familiar and strange ignorant age
NPOI导出Excel并下载到客户端
原生JS 实现页面元素的拖动 拖拽
Build a learning environment
【二叉树】从叶结点开始的最小字符串
Nature子刊 | 绘制植物叶际菌群互作图谱以建立基因型表型关系
SPI interface introduction -piyu dhaker
一个bug肝一周...忍不住提了issue
The company leader said that if the personal code exceeds 10 bugs, he will be dismissed. What is the experience?
CVPR disputes again: IBM's Chinese draft papers were accused of copying idea, who won the second place in the competition
Other domestic mobile phones failed to fill the vacancy of Huawei, and apple has no rival in the high-end mobile phone market
[codec] write H264 decoder (1) from scratch