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: rootpassword: ENC(aXcmM77CmYgj67mBxQgI2A==)url: jdbc:mysql://XXXX:XX/tt?useUnicode=true&characterEncoding=UTF-8&useSSL=falsejasypt:encryptor:password: keafmd

以上就是配置文件加密(Jasypt的简单使用)的全部内容

版权声明:
原创博主:牛哄哄的柯南
博主原文链接:https://keafmd.blog.csdn.net/
个人博客链接:https://www.keafmd.top/

看完如果对你有帮助,感谢点击下面的一键三连支持!
[哈哈][抱拳]


加油!

共同努力!

Keafmd

都看到这里了,下面的内容你懂得,让我们共同进步!

配置文件加密(Jasypt的简单使用)相关推荐

  1. SpringBoot配置文件加密jasypt【数据库配置加密、redis配置加密、核心参数加密】

    为什么需要加密 这是一套完整的账号信息管理体系,不同岗位不同职责,也就是承担不同的责任. 比如在小程序开发过程中,很多公司都会把 appId.appSecret 直接赔偿成明文的,当有员工离职时很难进 ...

  2. Springboot之Jasypt配置文件加密/解密

    Jasypt配置文件加密/机密 一.Jasypt介绍 二.Springboot整合Jasypt 2.1 环境配置 2.2 添加依赖 2.3 添加Jasypt配置 2.4 编写加/解密工具类 2.5 修 ...

  3. php 配置文件加密工具类,SpringBoot集成Jasypt安全框架以及配置文件内容加密(代码示例)...

    本篇文章给大家带来的内容是关于SpringBoot集成Jasypt安全框架以及配置文件内容加密(代码示例),有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助. 我们在SpringBoot项 ...

  4. SpringBoot 配置文件加密的两种方式

    SpringBoot配置文件加密的两种方式 jasypt使用方式 用法一: 1.Application.java上增加注解@EnableEncryptableProperties(jasypt-spr ...

  5. java 配置文件加密_Spring cloud config 配置文件加密方式

    前言 我们会使用git来保存我们项目的配置文件,但是文件中总有一些敏感数据,对于这些敏感数据我们通常需要给它加密,加密通常有两种加密方式,一种是对称加密,一种是非对称加密,对称加密简单方便,但是安全性 ...

  6. ASP.NET 配置文件加密

    众所周知,web.config可以存储包括数据库链接在内的众多信息,所以为配置文件加密有时候就显得必要了. 1.加密前的配置文件如下: Web.config 1 <?xml version=&q ...

  7. php算法入门,a011.PHP实战:加密解密,简单算法入门

    原标题:a011.PHP实战:加密解密,简单算法入门 在PHP编程中,很多时候我们会遇到传递信息的问题,而传递过程中为了安全,我们肯定是要进行加密和解密的,这里,我们来说一说使用PHP怎么进行加密解密 ...

  8. NET2.0配置文件加密(WEBWindows)

    posted on 2006年5月6日 15:42 由 吴頔 WEB篇    网上已经有很多文章提到:     ASP.NET 2.0加密Web.config 配置文件      Keeping se ...

  9. 手机可以模拟但小米手环4(nfc)不能模拟加密卡的简单解决方案

    手机可以模拟但小米手环4(nfc)不能模拟加密卡的简单解决方案 设备 一台手机(自己的)用来使用小米运动 一台手机 机型 小米MIX2(带nfc) ps 其他品牌手机不一定可以 一张部分加密的门禁卡 ...

最新文章

  1. 产品经理怎么样用图表传达数据信息(多图)
  2. HTTP协议header头域
  3. viewPager开启界面导航之旅
  4. 我是一只IT小小鸟读书笔记3
  5. 用node-webkit(NW.js)创建桌面程序
  6. 数据分析,如何构建指标体系
  7. ORACLE--Connect By、Level、Start With的使用(Hierarchical query-层次查询)
  8. 微软全球执行副总裁沈向洋:人工智能的机遇和挑战
  9. 实时数据处理环境搭建flume+kafka+storm:4.storm安装配置
  10. 一次debug过程描述
  11. oppor17刷鸿蒙系统,OPPO R17 Pro手机6G+128GB版本上线
  12. 微信小程序-样式-引入
  13. keil和protues仿真点亮一个LED灯
  14. 倒计时c#/unity
  15. 高斯滤波的理解与学习
  16. SpringBoot入门系列(二)如何返回统一的Json数据格式
  17. Java Email
  18. 中国移动部署全球最大OpenStack集群的实践之路
  19. 豌豆花开花蕊红太平军哥哥一去无影踪
  20. python账单查询软件_python3.6 通过调用 阿里云 API (非SDK方式) 查询 账单 例子

热门文章

  1. 啥人都有:专门拍摄自己扑街照的牛人
  2. Carsim和simulink联合仿真过程中输入与输出不匹配的问题解决
  3. [中医养生] 听JT叔叔讲中医基础理论 第三讲
  4. Excel导入数据时间格式问题处理
  5. 12306应该如何应对黄牛抢票
  6. 数学建模——微分方程、差分方程、数理统计
  7. 链脉电子名片,帮助企业更快收集客户数据
  8. NETCONF、RESTCONF和YANG
  9. QGIS 3.20 五大新特性解析
  10. 因式分解的几种高级方法,懂即速度