nacos配置文件中敏感信息加密
前言
springCloud项目使用nacos作为配置中心,在配置文件中,部分配置数据需要进行加密。搜索nacos官网发现目前没有提供数据加密的功能【2021.9.26】需要自己实现。nacos官网
网上搜索整理后,使用jasypt实现配置文件加解密。
一、前提
默认已经成功搭建springcloud并使用ncos作为配置中心
二、使用步骤
1.引入jasypt依赖
代码如下:
<dependency>
<groupId>com.github.ulisesbocchio</groupId>
<artifactId>jasypt-spring-boot-starter</artifactId>
<version>3.0.3</version>
</dependency>
版本需要3.0以上。
2.修改配置文件
代码如下:
在启动配置类bootstrap.yml中添加如下信息。
如不需要自定义加解密可去掉bean,jasypt默认使用StringEncryptor来进行加解密。
jasypt:
encryptor:
bean: desencrypt # 实现jasypt加密解密的类
password: mysalt #添加的盐
3.自定义加解密类
配置文件中bean类
package com.ys.config;
import org.apache.commons.lang3.StringUtils;
import org.jasypt.encryption.StringEncryptor;
import org.springframework.stereotype.Component;
/**
* @author ys
* @create 2021/9/26
* @desc 自定义加解密Jasypt 目前与默认相同 (可以去掉)
**/
@Component("desencrypt")
public class MyStringEncryptor implements StringEncryptor {
private EncryptDecrypt encryptDecryptService = new EncryptDecrypt();
@Override
public String encrypt(String message) {
if (StringUtils.isNotBlank(message)){
try {
message = encryptDecryptService.encrypt(message);