首页 > 数据库 >使用jasypt 和 k8s 避免项目中写数据库连接密码

使用jasypt 和 k8s 避免项目中写数据库连接密码

时间:2024-06-07 18:22:31浏览次数:23  
标签:加密 jasypt 数据库 中写 密码 encryptor k8s config

0 引入jasypt

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

1 对原密码进行加密

public static String encrypt(String plaintext) {
        StandardPBEStringEncryptor encryptor = new StandardPBEStringEncryptor();
        EnvironmentStringPBEConfig config = new EnvironmentStringPBEConfig();
        // 指定算法
        config.setAlgorithm("PBEWithMD5AndDES");
        // 指定秘钥,和yml配置文件中保持一致
        config.setPassword("LYgKTd24qx1y");
        encryptor.setConfig(config);
        // 生成加密数据
        return encryptor.encrypt(plaintext);
    }

2 改yaml文件中的数据库连接

使用ENC(...)包裹住上面的对原密码进行加密后的生成的字符串

spring:
  datasource:
    url: jdbc:mysql://a.b.c.d:3307/xxx?serverTimezone=Asia/Shanghai&characterEncoding=utf8&characterSetResults=utf8&autoReconnect=true&rewriteBatchedStatements=true
    username: uuuu
    password: ENC(XgPteMTzxA19SBE16zeqFgtXq2WuSB1LeEY4nr9wz2g=)

3 在k8中建secret

  对密钥进行base64加密

echo -n "LYgKTd24qx1y" | base64
TFlnS1RkMjRxeDF5

  

标签:加密,jasypt,数据库,中写,密码,encryptor,k8s,config
From: https://www.cnblogs.com/juniorMa/p/18237597

相关文章

  • k8s里node 宕机后如何提高pod迁移速度
    大概的配置参数:  node故障后,pod会迁移到正常的node上,迁移时间大概8分钟左右,如果是微服务,注册到nacos,服务不受影响,但是对于其他的服务,请求中会有大量失败。 需要几个流程:kubelet自身会定期更新状态到apiserver,通过kubelet的参数node-status-update-frequency配置......
  • k8s学习--ingress详细解释与应用(nginx ingress controller))
    文章目录lngress简介什么是IngressIngress的用途Ingress的工作原理Ingress的工作流程Ingress的应用场景应用实验环境部署nginxingresscontroller1.安装metalLB2.nginxingresscontroller部署3.ingress对象应用案例(基于名称的负载均衡)(1)创建deployment控制......
  • k8s中ingress访问不到服务
    情况:通过k8s部署nacos,部署之后,测试通过service进行访问,但是通过ingress域名访问失败。原因:1、我的ingress-controller部署时使用的是deployment,该方式,只会在一个节点上部署pod,而不是全部的pod上进行部署。2、采用的网络使用的hostNetwork:true,这种方式使用的是本机的网络,除非......
  • 夜莺nightingale的一些k8s指标
    在夜莺nightingale的安装与启动中已经二进制安装了夜莺系统,其web地址为http://<ip>:17000/,默认用户是 root,密码是 root.2020。登录后需要修改密码。使用夜莺系统,主要是使用其告警功能,其告警功能方便易用。本次项目告警设置为:项目通过邮件发送给各项目管理人,系统告警通过企业......
  • k8s——pod控制器
    一、pod控制器定义  Pod控制器,又称之为工作负载(workload),是用于实现管理pod的中间层,确保pod资源符合预期的状态,pod的资源出现故障时,会尝试进行重启,当根据重启策略无效,则会重新新建pod的资源。二、pod控制器类型ReplicaSet:代用户创建指定数量的pod副本,确保pod副本数量符......
  • k8s——secret配置资源管理
    一、Secret 1.1Secret定义  Secret是用来保存密码、token、密钥等敏感数据的k8s资源,这类数据虽然也可以存放在Pod或者镜像中,但是放在Secret中是为了更方便的控制如何使用数据,并减少暴露的风险。 1.2Secret类型kubernetes.io/service-account-token:由Kubernetes......
  • k8s——安全机制
    一、安全机制说明  Kubernetes作为一个分布式集群的管理工具,保证集群的安全性是其一个重要的任务。APIServer是集群内部各个组件通信的中介,也是外部控制的入口。所以Kubernetes的安全机制基本就是围绕保护APIServer来设计的。 比如kubectl如果想向APIServer请求资......
  • k8s 集群升级
    1.升级概要k8s版本:以x.y.z表示,其中x是主要版本,y是次要版本,z是补丁版本,不能跳过次要版本升级,比如1.28.0->1.30.0,补丁版本可以跳跃更新,比如1.28.0->1.28.10推荐使用与版本匹配的kubelet和kubeadm,最好各组件版本保持一致升级后,因为容器spec的哈希值已更改,所有容器都......
  • k8s - namespace
    简介命名空间,可以根据ns区分业务线、应用、权限一般默认命名空间指向default,可以在kubeconfig中修改默认配置清单文件apiVersion:v1kind:Namespacemetadata:#命名空间名称name:yky常用操作#创建名为yky的nskubectlcreatensyky#删除名为yky......
  • 修改k8s pod的hosts文件
    当我们服务需要使用自定义的域名解析时,就需要修改pod内hosts文件。而如果我们在pod内部修改后,下次重启依然会丢,所有下面用两种方式实现持久化修改: 1.当集群内所有或者大部分服务都需要修改hosts文件时,我们可以修改CoreDNS的configmap文件 kubectleditcm-nkube-systemco......