小言_互联网的博客

Spring Boot项目application.yml文件数据库配置密码加密

555人阅读  评论(0)

在Spring boot开发中,需要在application.yml文件里配置数据库的连接信息,或者在启动时传入数据库密码,如果不加密,传明文,数据库就直接暴露了,相当于"裸奔"了,因此需要进行加密处理才行。

    使用@SpringBootApplication注解启动的项目,只需增加maven依赖

我们对信息加解密是使用这个jar包的:

编写加解密测试类:


  
  1. package cn.linjk.ehome;
  2. import org.jasypt.encryption.pbe.StandardPBEStringEncryptor;
  3. import org.jasypt.encryption.pbe.config.EnvironmentPBEConfig;
  4. import org.junit.Test;
  5. public class JasyptTest {
  6. @Test
  7. public void testEncrypt() throws Exception {
  8. StandardPBEStringEncryptor standardPBEStringEncryptor = new StandardPBEStringEncryptor();
  9. EnvironmentPBEConfig config = new EnvironmentPBEConfig();
  10. config.setAlgorithm( "PBEWithMD5AndDES"); // 加密的算法,这个算法是默认的
  11. config.setPassword( "test"); // 加密的密钥
  12. standardPBEStringEncryptor.setConfig(config);
  13. String plainText = "88888888";
  14. String encryptedText = standardPBEStringEncryptor.encrypt(plainText);
  15. System.out.println(encryptedText);
  16. }
  17. @Test
  18. public void testDe() throws Exception {
  19. StandardPBEStringEncryptor standardPBEStringEncryptor = new StandardPBEStringEncryptor();
  20. EnvironmentPBEConfig config = new EnvironmentPBEConfig();
  21. config.setAlgorithm( "PBEWithMD5AndDES");
  22. config.setPassword( "test");
  23. standardPBEStringEncryptor.setConfig(config);
  24. String encryptedText = "ip10XNIEfAMTGQLdqt87XnLRsshu0rf0";
  25. String plainText = standardPBEStringEncryptor.decrypt(encryptedText);
  26. System.out.println(plainText);
  27. }
  28. }

 加密串拿到了,现在来修改application.yml的配置:
 我们把加密串放在ENC({加密串})即可。

..........................................

启动时需要配置 秘钥

将秘钥加入启动参数


转载:https://blog.csdn.net/qq493820798/article/details/104413098
查看评论
* 以上用户言论只代表其个人观点,不代表本网站的观点或立场