Spring Boot整合Jasypt 库实现配置文件和数据库字段敏感数据的加解密
import org.jasypt.encryption.StringEncryptor;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.context.annotation.Profile;
@Configuration
public class JasyptConfig {
@Autowired
private StringEncryptor stringEncryptor;
@Bean
@Profile("!test") // 确保不在单元测试时加载
public StringEncryptor stringEncryptor() {
// 这里可以配置你的StringEncryptor的具体实现,比如使用默认的StrongStringEncryptor
// 或者从外部配置文件读取加密所需的密钥等参数
return new StrongStringEncryptor(); // 示例
}
public String encrypt(String text) {
return stringEncryptor.encrypt(text);
}
public String decrypt(String encryptedText) {
return stringEncryptor.decrypt(encryptedText);
}
}
这个代码示例展示了如何在Spring Boot应用中配置Jasypt加密器,并提供了加密和解密方法。在实际的应用中,你需要实现StringEncryptor
接口,并配置加密所需的密钥。这个配置应该在不在源码控制中保存敏感信息的前提下进行。
评论已关闭