当前位置: 首页 > news >正文

SpringBoot+jasypt-spring-boot-starter实现配置文件明文加密

1.使用环境

springboot:2.1.4.RELEASE
JDK:8
jasypt-spring-boot-starter:3.0.2

2.引入依赖

!-- 配置文件加密 -->
<dependency><groupId>com.github.ulisesbocchio</groupId><artifactId>jasypt-spring-boot-starter</artifactId><version>3.0.2</version>
</dependency><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-web</artifactId>
</dependency>
<dependency><groupId>org.mybatis.spring.boot</groupId><artifactId>mybatis-spring-boot-starter</artifactId><version>2.0.1</version>
</dependency>
<dependency><groupId>mysql</groupId><artifactId>mysql-connector-java</artifactId><version>8.0.33</version>
</dependency><dependency><groupId>org.projectlombok</groupId><artifactId>lombok</artifactId><optional>true</optional>
</dependency>
<dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-test</artifactId><scope>test</scope>
</dependency>

3.application.properties配置

server.port=8080### mybatis
mybatis.mapper-locations=classpath:mapper/*.xml
mybatis.type-aliases-package=com.xx.xx  ### xxl-job, datasource
spring.datasource.url=jdbc:mysql://127.0.0.1:3306/xxx?useUnicode=true&characterEncoding=UTF-8&autoReconnect=true&serverTimezone=Asia/Shanghai
spring.datasource.username=root
spring.datasource.password=ENC(jGfd15IFYKMjMW5bUYp06BQ8OCdHTXi3zbD4j9tw6U3PPvvA5GS8zn10kgVmgxXY)
spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver#加密盐值,获取加密后的值后删除,在vmOptions配置(如下图)
jasypt.encryptor.password=123adf

加密后,可删除jasypt.encryptor.password配置;发版时可在命令行中配置
在这里插入图片描述

4.明文加密

@SpringBootTest
@RunWith(SpringRunner.class)
public class D2ApplicationTests {@Resourceprivate StringEncryptor jasyptStringEncryptor;@Testpublic void contextLoads() {String pwd =  jasyptStringEncryptor.encrypt("root");System.out.println("pwd:" + pwd);}}

5.所遇问题

org.jasypt.exceptions.EncryptionOperationNotPossibleException:
Encryption raised an exception.
A possible cause is you are using strong encryption algorithms and you have not 
installed the Java Cryptography Extension (JCE) Unlimited Strength 
Jurisdiction Policy Files in this Java Virtual Machine

解决方案:java密码扩展无限制权限策略文件安装–jce_policy安装
文件下载地址:
下面为下载链接

JDK 1.7–jce安装地址:JDK1.7 -jce地址

JDK 1.8–jce安装地址:JDK 1.8–jce安装地址

相关文件来自于博客:https://www.cnblogs.com/zgngg/p/13859299.html) 感谢博主:疯狂的⑨酱 的无私奉献

jar配置路径:
JDK:将两个jar文件放到%JDK_HOME%\jre\lib\security下
JRE:将两个jar文件放到%JRE_HOME%\lib\security下

http://www.lryc.cn/news/97555.html

相关文章:

  • k8s核心概念
  • opencv 处理的视频 保存为新视频 ,新视频 无法读取
  • 《golang设计模式》第一部分·创建型模式-02-原型模式(Prototype)
  • SpringCloudAlibaba微服务实战系列(一)Nacos服务注册发现
  • 23.7.27 牛客暑期多校4部分题解
  • Ubuntu 20.04 安装教程
  • 如何评判算法好坏?复杂度深度解析
  • 【HashMap】2352. 相等行列对
  • 如何声明静态方法 和 实现?
  • 哈工大计算机网络课程局域网详解之:无线局域网
  • 系统集成|第六章(笔记)
  • MySQL主从复制环境部署
  • day42-servlet下拉查询/单例模式
  • docker中设置容器健康检查
  • azure-cognitiveservices-speech api error while using with AWS Lambda
  • 系统集成项目管理工程师挣值分析笔记大全
  • TCP 协议【传输层协议】
  • Golang 中的 time 包详解(二):time.Duration
  • Linux 学习记录58(ARM篇)
  • 【一文搞懂】—带霍尔编码器的直流有刷减速电机
  • 滴水逆向三期笔记与作业——02C语言——05 正向基础/05 循环语句
  • Python抓取分享页面的源代码示例
  • linux安装nginx遇到的报错
  • 一起学SF框架系列5.8-spring-Beans-Bean注解解析3-解析配置component-scan
  • 【LeetCode热题100】打卡第42天:滑动窗口最大值搜索二维矩阵II
  • [uni-app] 微信小程序 - 组件找不到/导入报错 (分包问题导致)
  • 从零构建医疗领域知识图谱的KBQA问答系统:其中7类实体,约3.7万实体,21万实体关系。
  • 编程小白的自学笔记十二(python爬虫入门四Selenium的使用实例二)
  • 技术笔记2023076 rBoot学习7
  • 收藏这6个抠图工具,一键抠图不用愁!