首页 > 其他分享 >SpringBoot配置文件加密

SpringBoot配置文件加密

时间:2023-07-14 19:31:49浏览次数:35  
标签:CloudCoder 加密 SpringBoot 配置文件 encryptor jar 信息

大多数的项目都是需要用到配置文件的,配置文件配置了一些必备信息,就比如数据库链接信息,缓存信息,而这些信息以明文的形式写在配置文件中,这是相当危险的,下面我就介绍一种解决方案,通过把配置信息加密放在配置文件中,这样就大大降低了风险。

话不多说,直接上案例,代码比什么都管用。

1.导入依赖

<!--jasypt加密依赖-->
<dependency>
    <groupId>com.github.ulisesbocchio</groupId>
    <artifactId>jasypt-spring-boot-starter</artifactId>
    <version>2.1.2</version>
</dependency>

2.创建测试类,开始加密

@Test
public void testEnc() {
    StandardPBEStringEncryptor encryptor = new StandardPBEStringEncryptor();
    encryptor.setPassword("123456");
    String CloudCoder = encryptor.encrypt("CloudCoder");
    System.out.println("CloudCoder = " + CloudCoder);
}

加密密文串:

oKIdQ2pqK0mat7j/UnWNL+gNtJqWmsNG

3.替换原有配置信息

# ENC()标识加密串
my.config-username=CloudCoder
    替换成
my.config-username=ENC(oKIdQ2pqK0mat7j/UnWNL+gNtJqWmsNG)

4.加密秘钥

至于加密秘钥,一般都是配置到虚拟机参数中,启动jar包的话也可以配置到启动参数中。像有的博客说的写在配置文件中,我就强烈不建议了,本来就是对配置信息加密的,秘钥写在配置文件中加密不就等于掩耳盗铃吗,这个不建议,确切的来说不能那么干,用我下面的方法就足够了。

dev:

prod:

nohup java -Djasypt.encryptor.password=123456 -jar xxx.jar &

视野决定上限,能力决定下限,努力决定空间,是不是感觉很简单啊,没错,就是那么容易,因为jar包什么的都是前人封装好的,只需要用就可以了,还是很方便的噻。

标签:CloudCoder,加密,SpringBoot,配置文件,encryptor,jar,信息
From: https://blog.51cto.com/u_16167640/6725668

相关文章

  • springboot 使用caffeine 并监控本地缓存
    1、添加依赖<dependency><groupId>com.github.ben-manes.caffeine</groupId><artifactId>caffeine</artifactId></dependency> 2、添加配置packagecom.example.demo.config;importcom.github.ben......
  • SpringBoot 服务接口限流,搞定!
    来源:blog.csdn.net/qq_34217386/article/details/122100904  在开发高并发系统时有三把利器用来保护系统:缓存、降级和限流。限流可以认为服务降级的一种,限流通过限制请求的流量以达到保护系统的目的。  一般来说,系统的吞吐量是可以计算出一个阈值的,为了保证系统的稳定运......
  • 传奇客户端HeroM2登陆器配置文件说明
    最近一段时间经常有人问我传奇HeroM2登陆器怎么解压到传奇客户端,今天我就来给大家说一下手动编辑!Option.ini文件,编辑后的文件随登陆器一起发布解压到传奇客户端根目录中即可.;以下是!Option中的内容.;此文件需要随登录器一起解压到客户端目录.[Config];任务按钮MissionBtnCaption......
  • 从零玩转系列之SpringBoot3-基础特性
    一、简介1.前置知识​ ●Java17​ ●Spring、SpringMVC、MyBatis​ ●Maven、IDEA2.环境要求环境&工具版本(orlater)SpringBoot3.1.xIDEA2023.xJava17+Maven3.5+Tomcat10.0+Servlet5.0+GraalVMCommunity22.3+NativeBuildTools0......
  • 从零玩转SpringBoot3-快速入门
    一、简介1.前置知识​ ●Java17​ ●Spring、SpringMVC、MyBatis​ ●Maven、IDEA2.环境要求环境&工具版本(orlater)SpringBoot3.1.xIDEA2023.xJava17+Maven3.5+Tomcat10.0+Servlet5.0+GraalVMCommunity22.3+NativeBuildTools0......
  • Springboot 实现QQ登录(界面跳转)
    Springboot实现QQ登录(界面跳转)现在第三方登录已经变成主流app的登录方式了今天记录一下如何给自己的网站实现第三方登录(这里以QQ登录为例)准备工作首先确保你准备好你自己网站的域名:如https://xxx.com以及有正常账号密码登录的方式有很多实现的方式,比如去微信开放平台和Q......
  • SpringBoot是接到一个http请求就开启一个线程处理吗?
    1、跳出一个误区:SpringBoot不处理任何请求Spring本身并不进行Web的处理,无论是TCP连接也好还是请求和响应也好,这些都是在Spring以外的部分完成的,例如Tomcat,所以默认的SpringBoot将会集成Tomcat内嵌容器。Controller中收到的请求,都是经过Tomcat容器解析后交给Ser......
  • springboot redis工具类之StringRedisTemplate 使用
    1、StringRedisTemplate是什么?StringRedisTemplate继承自RedisTemplate类,实现了BeanClassLoaderAware,Aware,InitializingBean,RedisOperations<K,V>接口。StringRedisTemplate是RedisTemplate以字符串为中心的扩展,由于针对Redis的大多数操作都是基于字符串的,因此此类提供了一个......
  • springboot中使用redis
    1、引入依赖<dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-data-redis</artifactId></dependency>2、配置spring:redis:host:localhost#Redis服务器地址port:6379......
  • javaSpringboot
    目前最流行的框架,JavaSpring的子项目,由它开发 Springboot依赖管理      配置注解  什么是Javabean 有get和set才叫Javabean springboot自定义配置   由MYconfig这个类进行组件myservice配置将其纳入到Spring中  JavaSpr......