jasypt对yml文件中密码加密
使用jasypt对yml文件中密码加密
需要:maven注解,测试类(根据秘钥生成jasypt加密码)
流程:将注解加入之后,去测试类,自定义秘钥,然后将要加密的账号密码放进去,生成的内容拿出来放到配置文件中即可
配置文件中写法如下
#秘钥(顶格)jasypt:encryptor:password: Hjhlkjfsdiuj#数据库账户和密码username: ENC(A83IE7Fg2K0FbfvxBQSRCUPY0o5VMXiT)password: ENC(GdtxrBv95JcrDjV5I8yVUgIYm/ljewi+S)
maven注解
<!--对配置文件加密--><dependency><groupId>com.github.ulisesbocchio</groupId><artifactId>jasypt-spring-boot-starter</artifactId><version>2.0.0</version></dependency>
测试类
import org.jasypt.util.text.BasicTextEncryptor;/*** TIME: 10:13** @Author huang*/
public class JasyptTest {public static void main(String[] args) {BasicTextEncryptor textEncryptor = new BasicTextEncryptor();//加密所需的密钥textEncryptor.setPassword("Hjhlkjfsdiuj");//要加密的数据(数据库的用户名或密码)String username = textEncryptor.encrypt("jiande_water");String password = textEncryptor.encrypt("wxkj123!@#)))1A");System.out.println("username:"+username);System.out.println("password:"+password);}
}
附加
还有另外一种配置秘钥的方式就是使用配置类
配置类
import org.jasypt.encryption.StringEncryptor;
import org.jasypt.encryption.pbe.PooledPBEStringEncryptor;
import org.jasypt.encryption.pbe.config.SimpleStringPBEConfig;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;@Configuration
public class JasyptConfig {@Bean("jasyptStringEncryptor")public StringEncryptor stringEncryptor() {PooledPBEStringEncryptor encryptor = new PooledPBEStringEncryptor();SimpleStringPBEConfig config = new SimpleStringPBEConfig();//此处填加密秘钥config.setPassword("Hjhlkjfsdiuj");config.setPoolSize("4");encryptor.setConfig(config);return encryptor;}
}
还可以改变加密方式
默认加密方式PBEWithMD5AndDES,可以更改为PBEWithMD5AndTripleDES
jasypt.encryptor.algorithm=PBEWithMD5AndDES
创作来源:https://www.jianshu.com/p/323ec96c46d2
jasypt对yml文件中密码加密相关推荐
- 你有没有觉得邮件发送人固定配置在yml文件中是不妥当的呢?SpringBoot 动态设置邮件发送人
明月当天,不知道你有没有思念的人 前言 之前其实已经写过SpringBoot异步发送邮件,但是今天在一个小项目中要用到发送邮件时,我突然觉得邮件发送人只有一个,并且固定写在yml文件中,就是非常的不妥 ...
- Python中密码加密存储
Python中密码加密存储(Django.Flask等) # 导入密码加密模块 import hashlib # 1.创建一个hash对象 h = hashlib.sha256() # 2.填充要加密 ...
- Yml文件中值的写法:单引号和双引号的区别以及如何传入null字符串
Yml文件中值的写法:单引号和双引号的区别以及如何传入null字符串 "":双引号不会对字符串里面的特殊字符进行转义,也就是转义字符该是什么意思就是什么意思. 举例: name: ...
- @Value无法获取yml文件中属性
@Value获取yml文件中属性时,位置与名称均为写错,但获取为null,原因是采用了new方式创建了@Value所在类对象,因此无法获取,应采用注入的方式获取类对象.
- 在配置spring-boot的yml文件中的项目路径时出现横划线表明已过时
在配置spring-boot的yml文件中的项目路径时出现横划线表明已过时 换成server.servlet.context-path 即可
- Springboot项目中使用jasypt给配置文件中密码加密
前言: 近期所做的项目进入测试阶段,在源码扫描时被检测出一些安全风险,其中就有配置文件中连接数据库的密码不能以明文展示这一问题.思考一下如果以明文展示确实会有很大的安全隐患,万一得罪一些深藏不露的黑客 ...
- 给yml配置文件的密码加密(SpringBoot)
我不明就里,漫不经心地把卡片翻了过来 我无话可说了 那是中学时代的我的画像 我突然发现,他们正津津有味地偷看我的表情 我一面佯装平静,一面想把卡片揣到兜里 然而不凑巧,我喜欢的围裙,上下没有一个兜 - ...
- BCrypt加密怎么存入数据库_Spring Boot 中密码加密的两种姿势
1.为什么要加密 2.加密方案 3.实践3.1 codec 加密3.2 BCryptPasswordEncoder 加密 4.源码浅析 先说一句:密码是无法解密的.大家也不要再问松哥微人事项目中的密码 ...
- Spring Boot 中密码加密的两种姿势!
先说一句:密码是无法解密的.大家也不要再问松哥微人事项目中的密码怎么解密了! 密码无法解密,还是为了确保系统安全.今天松哥就来和大家聊一聊,密码要如何处理,才能在最大程度上确保我们的系统安全. 本文是 ...
最新文章
- 怎样在linux上部署web服务器
- python3 all any 判断迭代参数 是否全部 是否有 为true
- Real6410的NBL1.LSB和NBL2编译下载不能启动的问题
- 2015年秋季个人阅读计划
- MySQL 请选择合适的列!
- 阿帕奇跨域_阿帕奇齿轮泵
- 如何处理JavaScript中的事件处理(示例和全部)
- LINUX考证优惠信息转发(图)
- render注册一个链接组件_详解vue 动态加载并注册组件且通过 render动态创建该组件...
- emacs mysql_使用Emacs作为MySQL的客户端
- 利用socket.io+nodejs打造简单聊天室
- Zen Coding Visual Studio plugin 配置
- 三菱fx5u modbus tcp fb块用法_2020江苏三菱PLCFX3GA14MT回收回收上门提货西门子软启动器...
- vbs格式编程教程提高
- 北邮“一号邮路”上的数学体验
- python 开任意数的平方
- 【渝粤题库】陕西师范大学201601《中国古代文学(三)》作业 (高起本)
- java计算机毕业设计前后端分离健身房管理系统源代码+数据库+系统+lw文档
- CAD中把样条曲线改成多线段(转载请删除括号里的内容)
- R语言实战Topsis综合评价法
热门文章
- 快速打点工具——Aopo工具
- <2021SC@SDUSC>博客(5)山东大学软件工程应用与实践JPress代码分析(四)
- 分布式矩阵和分布式kvm的区别
- 小白兔写话_看图写话小白兔
- 兄弟连PHP学习套装,2010年限期促销!
- OR-Tools:1-线性优化,整数优化和约束优化(Linear optimization,Mixed-integer optimization,Constraint optimization)
- python自动抢购dmall_一个简易的自动抢购脚本
- 中文计算机核心期刊目录
- 网页无法打开, 位于 https://xxx 的网页无法加载,因为:net::ERR_NAME_NOT_RESOLVED
- 强化学习之迷宫Q-Learning实践笔记——入门篇