• springboot的配置项ENC加解密


           在web项目中我们看到application文件中很多出现配置项是ENC(xxxxx),这就表示xxx这个参数是经过加密之后的结果。

            我们想要在其他地方使用参数必须要做解密。以下是实现方法。

    加解密的实现依赖jasypt。所以需要引入以下jar包

    
        org.jasypt
        jasypt
        1.9.3
    

    加解密方法 

    1. package com.spring.demo.demo_3_enc;
    2. import org.jasypt.encryption.pbe.StandardPBEStringEncryptor;
    3. public class EncTest {
    4. public static void main(String[] args) {
    5. String password = "mySecretPassword";
    6. StandardPBEStringEncryptor encryptor = new StandardPBEStringEncryptor();
    7. encryptor.setPassword(password);
    8. String encryptedText = encryptor.encrypt("12345676879876543");
    9. System.out.println("Encrypted Text: " + encryptedText);
    10. String decryptedText = encryptor.decrypt(encryptedText);
    11. System.out.println("Decrypted Text: " + decryptedText);
    12. }
    13. }

    其中 password是必须提供的参数。这个参数会在application配置文件中包含。你可以在application.properties或application.yml文件中设置该属性:

    jasypt.encryptor.password=mySecretPassword

    jasypt:
      encryptor:
        password: mySecretPassword 

    如果在application配置文件没有,则可能是在启动的java项目的命令中加如了这个参数 ,如以下:

    /opt/java/jdk8/bin/java -jar -Xmx512m -Xms512m  -Djasypt.encryptor.password=mySecretPassword  -Dspring.profiles.active=dev /home/xxxx/test-demo.jar

    - Djasypt.encryptor.password就是配置 jasypt.encryptor.password 参数的。

  • 相关阅读:
    算法训练第六十二天
    vue面试题(1)
    C语言 深度探究C语言中的数组
    亚马逊云科技 Amazon Lightsail :一种在云服务器上运行容器的简单方法
    MindSpore:【语音识别】DFCNN网络训练loss不收敛
    计算机网络:3数据链路层
    「优选算法刷题」:二进制求和
    翻译Excel文档名不求人:详细指南
    多线程练习
    SwiftUI简单基础知识学习
  • 原文地址:https://blog.csdn.net/qq_34484062/article/details/133772991