本文介绍使用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>

加密

  1. 命令行
java -cp jasypt-1.9.2.jar org.jasypt.intf.cli.JasyptPBEStringEncryptionCLI input="明文" password=自定义的密钥 algorithm=PBEWithMD5AndDES

可以指定其他加密算法,默认算法为PBEWithMD5AndDES

  1. 代码加密
// 默认加密/解密算法是 PBEWithMD5AndDES
StandardPBEStringEncryptor encryptor = new StandardPBEStringEncryptor();
//key为自定义密钥
encryptor.setPassword(KEY);
//text为明文
return encryptor.encrypt(text);

可以指定算法、hash迭代次数、salt生成方式,具体可查看源码。也可用StandardPBEByteEncryptor,不同在于一个对字符串加密,一个对字符数组加密。

解密

对应的解密方式,若加密算法或参数更改,解密也需要进行更改

  1. 命令行
java -cp jasypt-1.9.2.jar org.jasypt.intf.cli.JasyptPBEStringDecryptionCLI input="密文" password=自定义密钥 algorithm=PBEWithMD5AndDES
  1. 代码
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明文密码加密相关推荐

  1. java web系统明文密码加密传输

    最近项目PL提出系统数据越权和明文密码传输问题,涉及网络安全的问题,这让我一脸懵逼,查阅相关资料后做相关记录 1. 数据越权: 涉及重要功能需要验证用户是否当前用户操作,修改密码功能接口参数用户Id人 ...

  2. 关于项目中数据库密码加密的使用

    关于项目中数据库密码加密的使用 1 使用需求 2 使用步骤 1 准备一个SpringBoot项目环境 2 添加jasypt的jar包 3 创建一个测试类 4 修改配置文件 5 启动项目,访问忌口 6 ...

  3. SpringBoot项目配置明文密码泄露问题的处理方式

    SpringBoot项目配置明文密码泄露问题的处理方式: 1.引入jar包 <dependency>     <groupId>com.github.ulisesbocchio ...

  4. Java版 凯撒密码 加密、解密、暴力破解

    Java版 凯撒密码 加密.解密.暴力破解 用Java实现凯撒密码的 '加密' 和 '解密' 工作 代码实现如下: 代码片 package com.hellow.demo;import java.ut ...

  5. java 明文密码加密解密,明文加密解密处理

    配置文件加密和数据库一些内容的加密存储 背景 在一些项目的设计中,密码等一些重要的东西显然是不能出现在代码和数据库中的.如果出现,这显然是不符合安全规定的.所以我们就需要加密存储和解密取出,这就用了本 ...

  6. java配置文件中数据库密码加密

    最近,有位读者私信我说,他们公司的项目中配置的数据库密码没有加密,编译打包后的项目被人反编译了,从项目中成功获取到数据库的账号和密码,进一步登录数据库获取了相关的数据,并对数据库进行了破坏. 虽然这次 ...

  7. SSM项目的数据库密码加密方案

    项目主要采用:SpringMVC4.3.2.RELEASE +Spring4.3.2.RELEASE + Maven 3.3.3 + druid 1.0.29 + Mybatis 3.2.8 + My ...

  8. springboot明文密码加密解密

    第一步:pom文件加入依赖 如图: 这里提供一个版本, <dependency><groupId>com.github.ulisesbocchio</groupId> ...

  9. 德鲁伊druid数据库明文密码加密

    文章目录 通过jvm启动参数使用ConfigFilter 其他读取方式 配置文件从服务器本地读取 配置文件从远程http读取 ConfigFilter解密密码 通过jvm启动参数使用ConfigFil ...

  10. 给java语言实现移位密码加密过程

    import java.util.Scanner; /** *移位运算 / public class Shift { public static void main(String[] args) { ...

最新文章

  1. 微信为什么打不开html,微信打不开怎么回事 微信打不开解决方法
  2. Multithreading in Java
  3. spring http缓存_HTTP缓存与Spring示例
  4. 在Java 9中使用sun.misc.Unsafe
  5. php时间格式函数,PHP函数之日期时间函数date()使用详解_php基础_脚本
  6. liunx mysql端口没开_linuxmysql可以terminal登录,3306端口未打开原因记录(转)
  7. .net mysql 多线程_.net线程详解(转)
  8. Windows Azure真实案例--Lokad 公司通过软件+服务高效提供先进的预测服务
  9. c语言程序设计谭浩强题库,谭浩强c语言程序设计习题答案
  10. 操作系统期末总复习(题库)
  11. 富文本编辑器NicEdit的使用
  12. linux 模拟windows7,Linux游戏:原生、Wine模拟对比Windows 7
  13. 汇编c语言基础教程编程达人,编程达人 《汇编、C语言基础教程》第二章 汇编基础2.2 寄存器...
  14. 用c语言实现基本数据结构(哈希表)
  15. Android数据存储安全实践
  16. Podman的基本设置和使用
  17. arduino温度控制器_适用于FPS的最佳控制器-使用Arduino和OrbShield与Windows 7配合使用的SpaceTec SpaceOrb 360控制器...
  18. 在线预览文档html版
  19. 机器学习:朴素贝叶斯模型算法原理(含实战案例)
  20. win7x86安装驱动提示 0x241 577无法验证此设备所需的驱动程序的数字签名

热门文章

  1. Visual Studio2019安装vsix扩展文件
  2. 计算机维修管理平台软件,美萍电脑行业管理软件(电脑业务管理系统、电脑维修管理系统、组装业务、电脑装机管理软件)--管理软件,美萍是专家!...
  3. 铁打的春晚,流水的流量
  4. imageJ的二次开发(全)
  5. R语言绘图-解决坐标轴测度问题
  6. 谐振功率放大器的工作原理
  7. 会议论文有没有影响因子_关于论文是否被SCI、Ei、ISTP等检索以及期刊影响因子的解说...
  8. 基础——内部RC振荡电路、外部晶振、RCC、RTC
  9. java简历模板免费下载word格式_个人简历模板下载即用word版.doc
  10. C++ 资源大全中文版