TOC
现状及目标
项目中会有配置文件来存放敏感信息(比如数据库密码、中间件密码等),这些明文存储的敏感信息一旦泄露,会引发严重的安全事故。为了消除安全隐患,最直接的方式就是把明文敏感信息加密,在程序需要用到的时候进行解密。针对加密、解密,Jasypt 框架提供了很好的解决方案。
Jasypt - 简介
Jasypt - 是什么
JASYPT: Java Simplified Encryption 是一个Java类库,它允许开发人员以很简单的方式添加基本加密功能,且无需深入研究加密原理。
Jasypt - 简介
Jasypt是基于标准的加密技术所做的加强,不仅简化了加密和检查密码的操作,还具有高度的可配置性。开发时可以自主选择不同的加密算法、salt生成等高级功能。 GitHub地址:GitHub项目地址 官网:jasypt官网
Jasypt - 特点
Jasypt 具有安全性高、线程安全、配置性高、跨语言平台等优点。具体内容见官网。 主要特点:官网主要特点
Jasypt - 原理
后续补充。
Jasypt - 集成方式
Jasypt Spring Boot 为 Spring Boot 应用程序中的属性源提供加密支持。 有 3 种方法可以将 jasypt-spring-boot 集成到您的项目中:
- 使用 @SpringBootApplication 或 @EnableAutoConfiguration 将在整个 Spring 环境中启用可加密属性,只需将 starter jar jasypt-spring-boot-starter 添加到您的类路径中
- 将 jasypt-spring-boot 添加到您的类路径并将 @EnableEncryptableProperties 添加到您的主配置类以在整个 Spring 环境中启用可加密的属性
- 将 jasypt-spring-boot 添加到您的类路径并使用 @EncrytablePropertySource 声明各个可加密的属性源
Jasypt - starter方式使用案例
- 引入Maven依赖
| |
- properties 配置文件修改
| |
- salt设置
| |
- 启动类启用配置
| |
- 测试类测试
| |