当前位置:   article > 正文

springboot项目使用jasypt实现配置文件属性加解密_jasypt+springboot+解密

jasypt+springboot+解密

引入jar包

        在项目的pom文件中引入对应的jar包,其中${jasypt.version}可以在pom文件中properties属性中定义。文章中使用的版本是2.1.0

  1. <dependency>
  2. <groupId>com.github.ulisesbocchio</groupId>
  3. <artifactId>jasypt-spring-boot-starter</artifactId>
  4. <version>${jasypt.version}</version>
  5. </dependency>

添加启动类扫描

        需要在springboot项目中的启动类,注解SpringBootApplication的scanBasePackages中添加“com.ulisesbocchio.jasyptspringboot”,这个是引入jar包的跟路径,这样才能扫描到引入jar包的config类

  1. @SpringBootApplication(scanBasePackages = {"com.erge","com.ulisesbocchio.jasyptspringboot"})
  2. public class ErbaogeApplication {
  3. public static void main(String[] args) {
  4. ConfigurableApplicationContext context = SpringApplication.run(ErbaogeApplication.class, args);
  5. }
  6. }

配置文件开启

        配置文件开启解密,开启后springboot才会注入对应的config类,true代表开启

  1. jasypt:
  2. encryptor:
  3. bootstrap: true

加密报文

        加密报文需要设置盐、算法、输出类型等,示例加密方法提供的是工具默认加密算法,盐自行定义。将最终输出的字符串(假设输出666666)需要放在ENC(666666),其中ENC()是默认格式,直接将ENC(666666)替换明文。

  1. public static void main(String[] args) {
  2. String password = "j+UsiwNckWaaU="; //要加密的(数据库/redis等)密码
  3. String salt = "mtOWc6"; //加密用的salt(密钥)
  4. SimpleStringPBEConfig config = new SimpleStringPBEConfig();
  5. config.setAlgorithm("PBEWithMD5AndDES");
  6. config.setKeyObtentionIterations(1000);
  7. config.setPoolSize(1);
  8. if(StringUtils.isEmpty(salt)) {
  9. config.setSaltGenerator(new RandomSaltGenerator());
  10. salt = "";
  11. } else {
  12. config.setPassword(salt); // 加密的密钥
  13. }
  14. config.setStringOutputType("base64");
  15. PooledPBEStringEncryptor pooledPBEStringEncryptor = new PooledPBEStringEncryptor();
  16. pooledPBEStringEncryptor.setConfig(config);
  17. String encryptedText = pooledPBEStringEncryptor.encrypt(password);
  18. System.out.println("===== SALT: "+salt);
  19. System.out.println("===== SRC: "+password);
  20. System.out.println("===== ENCRYPTED: "+encryptedText);
  21. }

相关配置

        以上只是默认配置,只需要开启就可使用,还有一些相关配置,可以修改默认格式,指定加解密算法等。此处尚未验证相关配置,日后补充

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/Guff_9hys/article/detail/984709
推荐阅读
相关标签
  

闽ICP备14008679号