在我们的服务中不可避免的需要使用到一些秘钥(数据库、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。

最新文章

  1. Lightbox改造——支持滚轮缩放
  2. Android Studio - HPROF文件查看和分析工具
  3. Android杂谈--Activity、Window、View的关系
  4. 关于BufferedWriter.write超过30W条数据写入过慢问题。
  5. 一次zabbix的渗透
  6. css两个form不换行,两个div并排代码
  7. mysql数据库还原出错ERROR:Unknown command ‘\\’解决手记
  8. Python实现单词查询&amp;文件查找
  9. POJ A Simple Problem with Integers 线段树 lazy-target 区间跟新
  10. swagger Failed to load Api definition 的问题
  11. SOA和微服务架构的区别
  12. python 虚拟环境操作 virtualenv +virtualenvwrapper
  13. ASP.Net MVC OA项目笔记&lt;三&gt;
  14. 关于使用单片机读取外部电压ADC阻抗匹配的问题
  15. wordApp.Documents.Open 未将对象引用实例
  16. vue之给a标签赋值
  17. 【linux系列】cenos7安装jdk
  18. HibernateDaoSupport与JdbcDaoSupport
  19. Fatal error: Namespace declaration statement has to be the very first statement or after any declare call in the script in
  20. Spring+Struts+Hibernate 简介(转)

热门文章

  1. zookeeper 事务日志查看
  2. MySQL Execution Plan--IN子查询对UPDATE语句影响
  3. python(练习题)
  4. 记录第n次网站渗透经历
  5. ajax、axios、fetch 对比
  6. centos7中,mysql连接报错:1130 - Host ‘118.111.111.111’ is not allowed to connect to this MariaDB server
  7. [CodeForces 663E] - Binary Table(FWT)
  8. 埃氏素数筛法(Eratosthenes)
  9. [Go] Slices vs Array
  10. WinDbg常用命令系列---.cordll (控制CLR调试)