Java项目 yaml明文密码加密
本文介绍使用jasypt.jar包辅助加密的方式,支持自定义密钥。
引入jar包
<dependency><groupId>com.github.ulisesbocchio</groupId><artifactId>jasypt-spring-boot-starter</artifactId><version>2.1.0</version></dependency><dependency><groupId>com.github.ulisesbocchio</groupId><artifactId>jasypt-spring-boot</artifactId><version>2.1.0</version></dependency><dependency><groupId>org.jasypt</groupId><artifactId>jasypt</artifactId><version>1.9.2</version></dependency>
加密
- 命令行
java -cp jasypt-1.9.2.jar org.jasypt.intf.cli.JasyptPBEStringEncryptionCLI input="明文" password=自定义的密钥 algorithm=PBEWithMD5AndDES
可以指定其他加密算法,默认算法为PBEWithMD5AndDES
- 代码加密
// 默认加密/解密算法是 PBEWithMD5AndDES
StandardPBEStringEncryptor encryptor = new StandardPBEStringEncryptor();
//key为自定义密钥
encryptor.setPassword(KEY);
//text为明文
return encryptor.encrypt(text);
可以指定算法、hash迭代次数、salt生成方式,具体可查看源码。也可用StandardPBEByteEncryptor,不同在于一个对字符串加密,一个对字符数组加密。
解密
对应的解密方式,若加密算法或参数更改,解密也需要进行更改
- 命令行
java -cp jasypt-1.9.2.jar org.jasypt.intf.cli.JasyptPBEStringDecryptionCLI input="密文" password=自定义密钥 algorithm=PBEWithMD5AndDES
- 代码
StandardPBEStringEncryptor encryptor = new StandardPBEStringEncryptor();
//key为自定义密钥
encryptor.setPassword(KEY);
//ciphertext为密文
return encryptor.decrypt(ciphertext);
使用
在yaml等文件中需在将原明文替换为“ENC(密文)”,例如:
NoneBashCSSCC#GoHTMLJavaJavaScriptJSONPHPPowershellPythonRubySQLTypeScriptYAMLCopy
password: ENC(+IU9dCy7NtbVKpyOpvga0nvt33xmgTSA)
同时需要在yaml文件中注明自定义秘钥及使用算法,用于服务自动解密
jasypt:encryptor:password: 自定义密钥algorithm: PBEWithMD5AndDES
Java项目 yaml明文密码加密相关推荐
- java web系统明文密码加密传输
最近项目PL提出系统数据越权和明文密码传输问题,涉及网络安全的问题,这让我一脸懵逼,查阅相关资料后做相关记录 1. 数据越权: 涉及重要功能需要验证用户是否当前用户操作,修改密码功能接口参数用户Id人 ...
- 关于项目中数据库密码加密的使用
关于项目中数据库密码加密的使用 1 使用需求 2 使用步骤 1 准备一个SpringBoot项目环境 2 添加jasypt的jar包 3 创建一个测试类 4 修改配置文件 5 启动项目,访问忌口 6 ...
- SpringBoot项目配置明文密码泄露问题的处理方式
SpringBoot项目配置明文密码泄露问题的处理方式: 1.引入jar包 <dependency> <groupId>com.github.ulisesbocchio ...
- Java版 凯撒密码 加密、解密、暴力破解
Java版 凯撒密码 加密.解密.暴力破解 用Java实现凯撒密码的 '加密' 和 '解密' 工作 代码实现如下: 代码片 package com.hellow.demo;import java.ut ...
- java 明文密码加密解密,明文加密解密处理
配置文件加密和数据库一些内容的加密存储 背景 在一些项目的设计中,密码等一些重要的东西显然是不能出现在代码和数据库中的.如果出现,这显然是不符合安全规定的.所以我们就需要加密存储和解密取出,这就用了本 ...
- java配置文件中数据库密码加密
最近,有位读者私信我说,他们公司的项目中配置的数据库密码没有加密,编译打包后的项目被人反编译了,从项目中成功获取到数据库的账号和密码,进一步登录数据库获取了相关的数据,并对数据库进行了破坏. 虽然这次 ...
- SSM项目的数据库密码加密方案
项目主要采用:SpringMVC4.3.2.RELEASE +Spring4.3.2.RELEASE + Maven 3.3.3 + druid 1.0.29 + Mybatis 3.2.8 + My ...
- springboot明文密码加密解密
第一步:pom文件加入依赖 如图: 这里提供一个版本, <dependency><groupId>com.github.ulisesbocchio</groupId> ...
- 德鲁伊druid数据库明文密码加密
文章目录 通过jvm启动参数使用ConfigFilter 其他读取方式 配置文件从服务器本地读取 配置文件从远程http读取 ConfigFilter解密密码 通过jvm启动参数使用ConfigFil ...
- 给java语言实现移位密码加密过程
import java.util.Scanner; /** *移位运算 / public class Shift { public static void main(String[] args) { ...
最新文章
- 微信为什么打不开html,微信打不开怎么回事 微信打不开解决方法
- Multithreading in Java
- spring http缓存_HTTP缓存与Spring示例
- 在Java 9中使用sun.misc.Unsafe
- php时间格式函数,PHP函数之日期时间函数date()使用详解_php基础_脚本
- liunx mysql端口没开_linuxmysql可以terminal登录,3306端口未打开原因记录(转)
- .net mysql 多线程_.net线程详解(转)
- Windows Azure真实案例--Lokad 公司通过软件+服务高效提供先进的预测服务
- c语言程序设计谭浩强题库,谭浩强c语言程序设计习题答案
- 操作系统期末总复习(题库)
- 富文本编辑器NicEdit的使用
- linux 模拟windows7,Linux游戏:原生、Wine模拟对比Windows 7
- 汇编c语言基础教程编程达人,编程达人 《汇编、C语言基础教程》第二章 汇编基础2.2 寄存器...
- 用c语言实现基本数据结构(哈希表)
- Android数据存储安全实践
- Podman的基本设置和使用
- arduino温度控制器_适用于FPS的最佳控制器-使用Arduino和OrbShield与Windows 7配合使用的SpaceTec SpaceOrb 360控制器...
- 在线预览文档html版
- 机器学习:朴素贝叶斯模型算法原理(含实战案例)
- win7x86安装驱动提示 0x241 577无法验证此设备所需的驱动程序的数字签名
热门文章
- Visual Studio2019安装vsix扩展文件
- 计算机维修管理平台软件,美萍电脑行业管理软件(电脑业务管理系统、电脑维修管理系统、组装业务、电脑装机管理软件)--管理软件,美萍是专家!...
- 铁打的春晚,流水的流量
- imageJ的二次开发(全)
- R语言绘图-解决坐标轴测度问题
- 谐振功率放大器的工作原理
- 会议论文有没有影响因子_关于论文是否被SCI、Ei、ISTP等检索以及期刊影响因子的解说...
- 基础——内部RC振荡电路、外部晶振、RCC、RTC
- java简历模板免费下载word格式_个人简历模板下载即用word版.doc
- C++ 资源大全中文版