微服务项目配置文件参数安全方案

项目环境

  • springboot系列项目
  • maven依赖管理
  • 任意配置中心(apollo/配置文件/k8s ConfigMap Secrets)

项目代码添加依赖


<dependency>
    <groupId>com.github.ulisesbocchio</groupId>
    <artifactId>jasypt-spring-boot-starter</artifactId>
    <version>${version}</version>
</dependency>

配置文件添加盐值

jasypt.encryptor.password = password

加密参数生成

    //即为jasypt加密时使用的密码 jasypt.encryptor.password=test
    private static final String soltPassWord = "test";
    private static final String dbPassWord = "123456";
    //即为参数配置时加密的密码 例如 db.password= ENC(ab/quILuP+CtWffG+lJyHQ==)
    private static final String encPassword = "ab/quILuP+CtWffG+lJyHQ==";
    public static void main(String[] args) {
        // 加密时使用的密码
        BasicTextEncryptor basicTextEncryptor = new BasicTextEncryptor();
        basicTextEncryptor.setPassword(soltPassWord);
        String encrypt = basicTextEncryptor.encrypt(dbPassWord);
        System.out.println("加密后的:"+encrypt);
        BasicTextEncryptor basicTextEncryptor1 = new BasicTextEncryptor();
        basicTextEncryptor1.setPassword(soltPassWord);
        String decrypt = basicTextEncryptor1.decrypt(encPassword);
        System.out.println("解密后的:"+decrypt);
    }

加密参数值填写

#自定义前后缀
#jasypt.encryptor.property.prefix=ENC@[
#jasypt.encryptor.property.suffix=]
db.password= ENC(8dcdhff0dffdj)

参考资料

Spring Boot 配置文件密码加密两种方案

posted @   梦回大唐meng  阅读(9)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· AI 智能体引爆开源社区「GitHub 热点速览」
· 三行代码完成国际化适配,妙~啊~
· .NET Core 中如何实现缓存的预热?
点击右上角即可分享
微信分享提示