1.引用jar包

gradle:
implementation group: 'com.github.ulisesbocchio', name: 'jasypt-spring-boot-starter', version: '3.0.3'maven:
<dependency><groupId>com.github.ulisesbocchio</groupId><artifactId>jasypt-spring-boot-starter</artifactId><version>3.0.3</version>
</dependency>

2.在application.yml文件中加入配置信息

#数据库配置文件加密
jasypt:encryptor:## 实现jasypt加密解密的类bean: desencrypt

对数据库密码加密,使用 ENC() 包裹起来,然后里面放置密文

###################################################
#                     数据库配置                                                      #
###################################################
# 数据库驱动
spring.datasource.driver-class-name=oracle.jdbc.OracleDriver
# 数据库链接
spring.datasource.url=jdbc:oracle:thin:@127.0.0.1:1521:orcl
# 数据库用户名
spring.datasource.username=NR
# 数据库密码
spring.datasource.password=ENC(TLI=)
# 数据源连接池中最大连接数
spring.datasource.hikari.maximum-pool-size=50

3.加密解密类

import gov.cnao.security.service.EncryptDecryptService;
import gov.cnao.security.service.impl.EncryptDecryptServiceImpl;
import org.apache.commons.lang3.StringUtils;
import org.jasypt.encryption.StringEncryptor;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.stereotype.Component;@Component("desencrypt")
public class NrStringEncryptor implements StringEncryptor {private static Logger logger = LoggerFactory.getLogger(NrStringEncryptor.class);private EncryptDecryptService encryptDecryptService = new EncryptDecryptServiceImpl();@Overridepublic String encrypt(String message) {if (StringUtils.isNotBlank(message)){try {logger.info("加密前密码:"+message);message = encryptDecryptService.encrypt(message);logger.info("加密后密码:"+message);logger.info("配置信息加密成功!");} catch (Exception e) {logger.error("配置信息加密失败!");}}return message;}@Overridepublic String decrypt(String encryptedMessage) {if (StringUtils.isNotBlank(encryptedMessage)){try {logger.info("解密前密码:"+encryptedMessage);encryptedMessage = encryptDecryptService.decrypt(encryptedMessage);logger.info("解密后密码:"+encryptedMessage);logger.info("配置信息解密成功!");} catch (Exception e) {logger.error("配置信息解密失败!");}}return encryptedMessage;}
}

4. 自定义加密算法

jar包:算法包

jasypt 加密解密+自定义加密算法相关推荐

  1. jasypt加密解密

    jasypt加密解密 1. 导入依赖 <!--jasypt--> <dependency><groupId>com.github.ulisesbocchio< ...

  2. Java 加密解密 对称加密算法 非对称加密算法 MD5 BASE64 AES RSA

    [最简单的加密] 1.简单的概念 明文:加密前的信息 密文:机密后的信息 算法:加密或解密的算法 密钥:算法使用的钥匙(读作miyao,正确应该是miyue,但是大家都读miyao) 2.简单的例子 ...

  3. android图片资源加密解密,Android Glide实现图片加密解密 自定义格式

    前言 Glide作为一个简单易用的库,平时我们使用基本上就是 Glide.with(this).load(data).into(view) 本文主要介绍,如何加载已加密的图片.围绕2种类型:File本 ...

  4. openssl_sign() 语法+RSA公私钥加密解密,非对称加密算法详解

    其实有时候觉得写博客好烦,就个函数就开篇博客.很小的意见事情而已,知道的人看来多取一举,或者说没什么必要,浪费时间,不知道的人就会很郁闷.技术就是这样的,懂的人觉得真的很简单啊,不知道的人真的好难.. ...

  5. 使用jasypt加密解密

    相关工具版本如下: Spring Boot    2.1.11.RELEASE Gradle            4.8 1.在build.gradle导入Jar implementation 'c ...

  6. MyBatis-Plus数据安全保护(加密解密)

    项目创建 POM依赖 <dependency><!--MyBatis-Plus 企业级模块--><groupId>com.baomidou</groupId& ...

  7. SpringBoot使用jasypt加解密密码

    在我们的服务中不可避免的需要使用到一些秘钥(数据库.redis等):使用过SpringBoot配置文件的朋友都知道,资源文件中的内容通常情况下是明文显示,安全性就比较低一些.打开application ...

  8. Java 加密 AES 对称加密算法

    版权声明:本文为博主原创文章,未经博主允许不得转载. [AES] 一种对称加密算法,DES的取代者. 加密相关文章见:Java 加密解密 对称加密算法 非对称加密算法 MD5 BASE64 AES R ...

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

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

最新文章

  1. rocketmq-flink
  2. 电脑有回声_电脑麦克属性调整(用于回声消除)
  3. ffmpeg拿AVPacket做缓冲队列时注意
  4. php smarty 时间,smarty的时间格式-详细 | 时刻需
  5. linux 修改文件名_Linux常用命令
  6. android+阴影+xml,Android 阴影视图 ShadowViewHelper
  7. 数据分析中的可视化-常见图形
  8. 关于iframe的一点发现与思考
  9. PXE+kickstart——实现网络批量装机
  10. JDBC14 ORM03 JavaBean封装
  11. 变分模态分解算法matlab程序,一种基于变分模态分解理论和K最近邻算法的心电信号分类方法与流程...
  12. 软件工程(需求分析)
  13. 新浪微博爬取笔记(4):数据清理
  14. 盛格塾丨品鉴《金石录后序》
  15. js 十六进制,八进制,二进制
  16. 射频开关:SPDT、级联、树形和矩阵开关
  17. linux vi 编辑器下经常会用到保存退出与不保存退出
  18. 【算法上车③】华为摄像头rpm签名校验并安装调试
  19. 人工智能行业,就业方向和研究领域的简单介绍
  20. iPhone SE3值得入手吗,如今首批用户的评价新鲜出炉

热门文章

  1. 华为的自我批判:苦难辉煌与战略聚焦
  2. Gerrit代码Review入门
  3. SpringBoot 自动配置之 Condition
  4. java中判断string类型的值_java判断对象是否是string类型
  5. OpenGL3.0 android环境搭建
  6. tera term的TTL脚本命令之wait
  7. 最佳做法电子邮件设计规则:布局
  8. iCloud同步测试
  9. 自建mysql和华为云mysql,基于云服务器的mysql自建从库
  10. 算法学习笔记五 斐波那契数列