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

遵义建站电商网站产品模块

遵义建站,电商网站产品模块,安卓门户网站开发,爱用建站怎么样一、前言 之前我写过一篇文章使用SM4国密加密算法对Spring Boot项目数据库连接信息以及yaml文件配置属性进行加密配置#xff08;读取时自动解密#xff09;#xff0c;对Spring Boot项目的属性读取时进行加解密#xff0c;但是没有说明对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();// 遍历SetMap.EntryObject, Object entries properties.entrySet();for (Map.EntryObject, 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.MyEnv1.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));}}测试结果 ) 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 ApplicationListenerApplicationEnvironmentPreparedEvent {Overridepublic void onApplicationEvent(ApplicationEnvironmentPreparedEvent event) {// 获取所有系统参数Properties properties System.getProperties();// 遍历SetMap.EntryObject, Object entries properties.entrySet();for (Map.EntryObject, 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.MyEventListener1.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));}}测试结果 通过以上两种方式可以在项目启动过程中获取设置System参数进行解密这样获取的时候就是解密以后的参数了。
http://www.hkea.cn/news/14497562/

相关文章:

  • 网站提交网站域名备案要多久
  • 做外贸网站功能成都网站制作成都
  • 做网站需要哪些钱网站建设需要版块
  • 网站建设解决恩问题商丘做建设网站的公司
  • 盘州网站建设益阳做网站
  • 做公司网站的腾度淄博网站建设
  • 苏州做学校网站的vps架设好网站访问不了
  • 怎么做后台网站一键更新音平商城谁做的网站
  • 网站建设如何入账wordpress 扫码支付宝
  • 赤峰做网站建设的企业合肥网站制作
  • 钢铁建设网站太原网站制作公司飞向未来
  • 黑龙江网络公司网站建设如何引用网站上的资料做文献
  • 一般网站建设需求有哪些宁波网站推广平台咨询公司
  • 如何修改wordpress站建设工程施工合同通用条款
  • wordpress xampp建站北京网络营销
  • 海口网站排名提升做网站外包公司名称大全
  • 网站建站上海网站后台在哪里
  • 建个微商城网站多少钱网站左侧导航代码
  • 新开传奇网站大全北京网页设计公司网站
  • 建设工程造价信息网站做模板网站赚钱吗
  • 企业网站建设解决方案网站建设费可以一次性冲费用吗
  • 提供免费空间的网站企业信息查询app哪个最好
  • 建设企业网站的常见成本有哪些网站建设的平台分析
  • 公司网站用什么系统金科科技 做网站
  • 如何用wordpress快速建站自己做网站用什么数据库
  • 重庆知名网站建设免费怎么做wep网站
  • 二手书店网站建设项目规划书电子商务网站建设需要哪种语言
  • 电子商务网站建设评价论文网页游戏制作器
  • 做公司永久免费网站什么好wordpress宽屏插件
  • 网站项目建设目标网络结构分几层