Spring Boot 配置 - 配置信息加密

img

▶ Spring Boot 依赖与配置

Maven 依赖

   <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-actuator</artifactId>
        </dependency>

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

▶ 使用说明

假设有配置项 com.anoyi.custom.name=anoyi 不能明文显示,则可以使用 jasyptPBEWithMD5AndDES 算法加密算法进行如下配置:

com.anoyi.custom.name=ENC(TqrnYZn55aFVwnSo2TrbFA==)
jasypt.encryptor.password=anoyi

  • jasypt.encryptor.password 为自定义值,用此密码加密的明文,需要用此密码解密密文
  • ENC(...)jasypt 提供的加密标识,Spring Boot 服务启动时,加载各种 properties 时会依据此标识判断是否解密赋值,可自定义
  • TqrnYZn55aFVwnSo2TrbFA== 为明文字符串 anoyi 通过密码 anoyi 加密后得到的值,此值不唯一,即同一明文通过同一密码加密会得到不同的值

▶ 配置说明

基于 Password 的加密配置

参数
必填
默认值
jasypt.encryptor.password
True
-
jasypt.encryptor.algorithm
FalsePBEWithMD5AndDES
jasypt.encryptor.keyObtentionIterationsFalse1000
jasypt.encryptor.poolSize
False1
jasypt.encryptor.providerName
FalseSunJCE
jasypt.encryptor.providerClassName
Falsenull
jasypt.encryptor.saltGeneratorClassnameFalseorg.jasypt.salt.RandomSaltGenerator
jasypt.encryptor.ivGeneratorClassname
Falseorg.jasypt.salt.NoOpIVGenerator
jasypt.encryptor.stringOutputType
Falsebase64
jasypt.encryptor.proxyPropertySources
Falsefalse

最新版的 jasypt 还支持非对称加密、自定义加密器等等功能,更多信息:

MORE :https://github.com/ulisesbocchio/jasypt-spring-boot

▶ 配置参数加解密

添加依赖

    <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-test</artifactId>
        </dependency>

示例加解密字符串 anoyi

@RunWith(SpringRunner.class)
@SpringBootTest
public class EncryptTest {

    @Autowired
    private StringEncryptor jasyptStringEncryptor;

    @Test
    public void encrypt() {
        String encryptStr = jasyptStringEncryptor.encrypt("anoyi");
        System.out.println(encryptStr);
    }

    @Test
    public void decrypt() {
        String encryptStr = jasyptStringEncryptor.decrypt("TqrnYZn55aFVwnSo2TrbFA==");
        System.out.println(encryptStr);
    }

}

▶ Github Demo URL

  • https://github.com/ChinaSilence/spring-boot-demos/tree/master/05 - config encrypt

© 著作权归作者所有,转载或内容合作请联系作者

img

拒绝黑盒应用-Spring Boot 应用可视化监控

并发Bug之源有三,请睁大眼睛看清它们

史上最轻松入门之Spring Batch - 轻量级批处理框架实践

Spring Cloud Gateway - 快速开始

APM工具寻找了一圈,发现SkyWalking才是我的真爱

Spring Boot 注入外部配置到应用内部的静态变量

将 HTML 转化为 PDF新姿势

Java 使用 UnixSocket 调用 Docker API

Fastjson致命缺陷

Service Mesh - gRPC 本地联调远程服务

使用 Thymeleaf 动态渲染 HTML

原文链接:

本文由博客一文多发平台 OpenWrite 发布!

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Spring Boot配置X-Content-Security-Policy可以通过在HTTP响应头中添加相应的头信息来实现。根据引用\[1\]中的内容,可以使用add_header指令来添加X-Content-Security-Policy头信息。具体的配置可以根据需求进行调整,以下是一个示例配置: ``` add_header X-Content-Security-Policy "default-src 'self'; script-src 'self' 'unsafe-inline' 'unsafe-eval'; style-src 'self' 'unsafe-inline'; img-src 'self'; font-src 'self'; frame-src 'self';"; ``` 上述配置中,default-src指定了默认的资源加载策略,script-src指定了允许加载脚本的来源,style-src指定了允许加载样式的来源,img-src指定了允许加载图片的来源,font-src指定了允许加载字体的来源,frame-src指定了允许加载框架的来源。其中,'self'表示只允许从同源加载资源,'unsafe-inline'表示允许内联脚本或样式,'unsafe-eval'表示允许使用eval函数执行动态脚本。 需要注意的是,X-Content-Security-Policy头信息在现代浏览器中已经被废弃,取而代之的是Content-Security-Policy头信息。因此,建议使用Content-Security-Policy头信息配置内容安全策略。 另外,根据引用\[2\]中的内容,如果需要使用无限制强度加密策略,可以下载官方JCE无限制强度加密策略文件,并将local_policy.jar和US_export_policy.jar覆盖到Java安装目录下的jre\lib\security路径中。 综上所述,可以通过配置X-Content-Security-Policy头信息来实现内容安全策略的配置。 #### 引用[.reference_title] - *1* [检测到目标X-Content-Type-Options X-XSS-Protection Content-Security-Policy 等响应头缺失的解决办法](https://blog.csdn.net/a694704123b/article/details/126896011)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^control_2,239^v3^insert_chatgpt"}} ] [.reference_item] - *2* [spring cloud 中使用jasypt-spring-boot-starter 配合Nacos进行配置加密](https://blog.csdn.net/zh452647457/article/details/118559718)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^control_2,239^v3^insert_chatgpt"}} ] [.reference_item] - *3* [java web配置X-Content-Type-Options、X-XSS-Protection、Content-Security-Policy、X-Frame-Options安全...](https://blog.csdn.net/lxw1005192401/article/details/106187068)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^control_2,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值