当前位置: 首页 > news >正文

自己做的网站响应速度慢软文范例大全1000字

自己做的网站响应速度慢,软文范例大全1000字,网站推广优化教程,网页设计素材网站一、前言 之前我写过一篇文章使用SM4国密加密算法对Spring Boot项目数据库连接信息以及yaml文件配置属性进行加密配置(读取时自动解密),对Spring Boot项目的属性读取时进行加解密,但是没有说明对System.setProperty(key, value)设…

一、前言

之前我写过一篇文章使用SM4国密加密算法对Spring Boot项目数据库连接信息以及yaml文件配置属性进行加密配置(读取时自动解密),对Spring Boot项目的属性读取时进行加解密,但是没有说明对System.setProperty(key, value)设置的属性进行读取加解密,这个在开发过程中应该怎么实现呢?

二、开发方案

前置步骤我们在这里不再描述了,可以参考使用SM4国密加密算法对Spring Boot项目数据库连接信息以及yaml文件配置属性进行加密配置(读取时自动解密),我们这里参考一下解决方案。

1. 通过扩展EnvironmentPostProcessor接口进行参数解密

1.1 示例代码
import com.learn.SM4Utils; // 自己实现的SM4算法工具类
import org.springframework.boot.SpringApplication;
import org.springframework.boot.env.EnvironmentPostProcessor;
import org.springframework.core.env.ConfigurableEnvironment;import java.util.Map;
import java.util.Properties;
import java.util.Set;public class MyEnv implements EnvironmentPostProcessor {@Overridepublic void postProcessEnvironment(ConfigurableEnvironment environment, SpringApplication application) {// 获取所有系统参数Properties properties = System.getProperties();// 遍历Set<Map.Entry<Object, Object>> entries = properties.entrySet();for (Map.Entry<Object, Object> entry : entries) {// 获取设置值Object value = entry.getValue();if (value != null) {String v = (String) value;if (v.startsWith(SM4Utils.SM4_PREFIX)) { // 判断是否进行了加密配置// 进行解密,然后重新设置System.setProperty((String) entry.getKey(), SM4Utils.decryptStr(v));}}}}
}
1.2 注册自定义EnvironmentPostProcessor处理器

resource目录下新建META-INF目录,新建spring.factories文件,添加如下内容:

org.springframework.boot.env.EnvironmentPostProcessor=\com.learn.env.MyEnv
1.3 测试

示例代码:

SpringBootApplication
public class JenkinsDemo01Application {public static void main(String[] args) {String s = SM4Utils.encryptStr("hello,CSDN!");System.out.println("设置的value:" + s);System.setProperty("testKey", s);SpringApplication.run(JenkinsDemo01Application.class, args);System.out.println("获取的value:" + System.getProperty("testKey"));}}

测试结果:

![外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传](https://img-home.csdnimg.cn/images/20230724024159.png?origin_url=Spring%20Boot%E9%A1%B9%E7%9B%AE%E6%80%8E%E4%B9%88%E5%AF%B9System.setProperty(key%2C%20value&pos_id=img-KCqrwIPP-1708434412477)设置的属性进行读取加解密.assets/image-20240220210228771.png
)

2. 通过实现ApplicationListener事件监听实现

2.1 示例代码
import com.learn.SM4Utils;
import org.springframework.boot.context.event.ApplicationEnvironmentPreparedEvent;
import org.springframework.context.ApplicationListener;import java.util.Map;
import java.util.Properties;
import java.util.Set;public class MyEventListener implements ApplicationListener<ApplicationEnvironmentPreparedEvent> {@Overridepublic void onApplicationEvent(ApplicationEnvironmentPreparedEvent event) {// 获取所有系统参数Properties properties = System.getProperties();// 遍历Set<Map.Entry<Object, Object>> entries = properties.entrySet();for (Map.Entry<Object, Object> entry : entries) {// 获取设置值Object value = entry.getValue();if (value != null) {String v = (String) value;if (v.startsWith(SM4Utils.SM4_PREFIX)) { // 判断是否进行了加密配置// 进行解密,然后重新设置System.setProperty((String) entry.getKey(), SM4Utils.decryptStr(v));}}}}
}
1.2 注册自定义ApplicationListener事件监听

resource目录下新建META-INF目录,新建spring.factories文件,添加如下内容:

org.springframework.context.ApplicationListener=\com.learn.event.MyEventListener
1.3 测试

示例代码:

SpringBootApplication
public class JenkinsDemo01Application {public static void main(String[] args) {String s = SM4Utils.encryptStr("hello,CSDN!");System.out.println("设置的value:" + s);System.setProperty("testKey", s);SpringApplication.run(JenkinsDemo01Application.class, args);System.out.println("获取的value:" + System.getProperty("testKey"));}}

测试结果:

![外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传](https://img-home.csdnimg.cn/images/20230724024159.png?origin_url=Spring%20Boot%E9%A1%B9%E7%9B%AE%E6%80%8E%E4%B9%88%E5%AF%B9System.setProperty(key%2C%20value&pos_id=img-CTO9Ca5D-1708434412478)设置的属性进行读取加解密.assets/image-20240220210228771.png

通过以上两种方式,可以在项目启动过程中获取设置System参数,进行解密,这样获取的时候就是解密以后的参数了。

http://www.dinnco.com/news/23691.html

相关文章:

  • 设计网站猪八戒关键词首页排名代做
  • 创造与魔法官方网站一起做喜欢的事短视频seo营销系统
  • 网站关键词排名下降项目网
  • 国家卫生计生委能力建设和继续教育中心网站推广优化网站排名教程
  • 重庆工程造价信息官网成都seo技术经理
  • 怎样新建网站郑州网站设计
  • 新建的网站 找不到了百度指数教程
  • 惠东县住房和城乡规划建设局网站百度上搜索关键词如何在首页
  • 重庆博达建设集团股份有限公司网站百度提交网站
  • 广州做网站公司哪家好网络营销能干什么工作
  • 福州seo推广优化泉州百度关键词优化
  • 做网站怎么宣传青岛网站seo公司
  • 网站上的在线客服怎么做的百度的特点和优势
  • 长沙市城市建设档案馆网站希爱力双效片的作用与功效
  • wordpress超链接无下划线汕头网站优化
  • 英德网站seo九幺seo工具
  • python做网站毕业设计chrome官方下载
  • 手机网站需要域名吗推广策划方案范文
  • 网站建设的资料的准备aso优化师
  • web网站开发公司电商培训内容有哪些
  • 公安机关备案 网站百度关键词排名提升工具
  • 网站设计流程图营销推广是什么意思
  • 如何编辑做网站站长工具黄
  • seo快速排名软件易下拉霸屏seo如何快速出排名
  • 如何把网站做成app搜索引擎优化的内容
  • 小程序开发制作平台源码开封网站seo
  • 西宁做网站的网络公司seo刷点击软件
  • 用ps做糖果店网站模板中国联通业绩
  • 网站制作一条龙全包百度搜索seo
  • 自己做网站必须要学哪些seo营销名词解释