提交 2302ca25 作者: 洪东保

yml配置加密

使用Test方法对原文进行加密,然后使用 ENC(密文)  作为配置
父级 a689d8f8
......@@ -44,6 +44,13 @@
<artifactId>jackson-dataformat-xml</artifactId>
<version>2.13.0</version>
</dependency>
<!-- <dependency>-->
<!-- <groupId>org.springframework.cloud</groupId>-->
<!-- <artifactId>spring-cloud-dependencies</artifactId>-->
<!-- <version>Finchley.M8</version>-->
<!-- <type>pom</type>-->
<!-- <scope>import</scope>-->
<!-- </dependency>-->
</dependencies>
</dependencyManagement>
<dependencies>
......@@ -318,6 +325,12 @@
<artifactId>meetingLLM</artifactId>
<version>1.0.0</version>
</dependency>
<!-- yml参数加密-->
<dependency>
<groupId>com.github.ulisesbocchio</groupId>
<artifactId>jasypt-spring-boot-starter</artifactId>
<version>3.0.5</version>
</dependency>
</dependencies>
<build>
......
package com.cmeeting;
import com.ulisesbocchio.jasyptspringboot.annotation.EnableEncryptableProperties;
import org.mybatis.spring.annotation.MapperScan;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
......@@ -7,6 +8,7 @@ import org.springframework.scheduling.annotation.EnableScheduling;
@SpringBootApplication
@EnableScheduling
@EnableEncryptableProperties
@MapperScan("com.cmeeting.mapper.primary")
public class TencentMeetingCallbackApplication {
public static void main(String[] args) {
......
package com.cmeeting.util;
import org.jasypt.encryption.pbe.PooledPBEStringEncryptor;
import org.jasypt.encryption.pbe.config.SimpleStringPBEConfig;
public class JasyptUtilTest {
public static String password = "EbfYkitulv23I2p1mXI50JMXoaxZTKJ7";
public static String algorithm = "PBEWITHMD5ANDDES";
/**
* 加密方法
*
* @param value 需要加密的值
* @return
*/
public static String encyptPwd(String value) {
//1.创建加密工具实例
PooledPBEStringEncryptor encryptor = new PooledPBEStringEncryptor();
//2.加解密配置
SimpleStringPBEConfig config = new SimpleStringPBEConfig();
config.setPassword(password);
config.setAlgorithm(algorithm);
//3.为了减少配置文件的书写,以下都是jasyp 3.x版本,配置文件默认配种
config.setKeyObtentionIterations("1000");
config.setPoolSize("1");
config.setProviderName("SunJCE");
config.setSaltGeneratorClassName("org.jasypt.salt.RandomSaltGenerator");
config.setStringOutputType("base64");
encryptor.setConfig(config);
return encryptor.encrypt(value);
}
public static String decryptPwd(String value) {
//1.创建加密工具实例
PooledPBEStringEncryptor encryptor = new PooledPBEStringEncryptor();
//2.加解密配置
SimpleStringPBEConfig config = new SimpleStringPBEConfig();
config.setPassword(password);
config.setAlgorithm(algorithm);
//3.为了减少配置文件的书写,以下都是jasyp 3.x版本,配置文件默认配种
config.setKeyObtentionIterations("1000");
config.setPoolSize("1");
config.setProviderName("SunJCE");
config.setSaltGeneratorClassName("org.jasypt.salt.RandomSaltGenerator");
config.setStringOutputType("base64");
encryptor.setConfig(config);
return encryptor.decrypt(value);
}
public static void main(String[] args) {
String en = encyptPwd("密码");
System.out.println(en);
}
}
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论