SpringBoot使用jasypt加解密密码
2024-10-19 20:46:39
在我们的服务中不可避免的需要使用到一些秘钥(数据库、redis等)
开发和测试环境还好,但生产如果采用明文配置讲会有安全问题,jasypt是一个通用的加解密库,我们可以使用它。
<dependency>
<groupId>com.github.ulisesbocchio</groupId>
<artifactId>jasypt-spring-boot-starter</artifactId>
<version>2.1.1</version>
</dependency>
配置文件:
# 加密的密钥
# 测试环境可以采用在配置文件中配置
# 生产环境建议采用启动参数的形式传入
# 其他配置参数参考:com.ulisesbocchio.jasyptspringboot.properties.JasyptEncryptorConfigurationProperties
jasypt.encryptor.password=you salt # 解密得到原始密码
spring.datasource.password= ENC(密文)
那密文怎么来的呢?
@Autowired
StringEncryptor stringEncryptor; @Test
public void encrypt() {
System.out.println("PWD: " + stringEncryptor.encrypt("yourpassword"));
}
public static void main(String[] args) {
BasicTextEncryptor textEncryptor = new BasicTextEncryptor();
//加密所需的salt(盐)
textEncryptor.setPassword("G0CvDz7oJn6");
//要加密的数据(数据库的用户名或密码)
String username = textEncryptor.encrypt("root");
String password = textEncryptor.encrypt("root123");
System.out.println("username:"+username);
System.out.println("password:"+password);
}
jasypt默认使用StringEncryptor来进行加解密,我们也可以自定义自己的加解密类来替换它,具体用户用时请百度/google。
最新文章
- Lightbox改造——支持滚轮缩放
- Android Studio - HPROF文件查看和分析工具
- Android杂谈--Activity、Window、View的关系
- 关于BufferedWriter.write超过30W条数据写入过慢问题。
- 一次zabbix的渗透
- css两个form不换行,两个div并排代码
- mysql数据库还原出错ERROR:Unknown command ‘\\’解决手记
- Python实现单词查询&;文件查找
- POJ A Simple Problem with Integers 线段树 lazy-target 区间跟新
- swagger Failed to load Api definition 的问题
- SOA和微服务架构的区别
- python 虚拟环境操作 virtualenv +virtualenvwrapper
- ASP.Net MVC OA项目笔记<;三>;
- 关于使用单片机读取外部电压ADC阻抗匹配的问题
- wordApp.Documents.Open 未将对象引用实例
- vue之给a标签赋值
- 【linux系列】cenos7安装jdk
- HibernateDaoSupport与JdbcDaoSupport
- Fatal error: Namespace declaration statement has to be the very first statement or after any declare call in the script in
- Spring+Struts+Hibernate 简介(转)
热门文章
- zookeeper 事务日志查看
- MySQL Execution Plan--IN子查询对UPDATE语句影响
- python(练习题)
- 记录第n次网站渗透经历
- ajax、axios、fetch 对比
- centos7中,mysql连接报错:1130 - Host ‘118.111.111.111’ is not allowed to connect to this MariaDB server
- [CodeForces 663E] - Binary Table(FWT)
- 埃氏素数筛法(Eratosthenes)
- [Go] Slices vs Array
- WinDbg常用命令系列---.cordll (控制CLR调试)