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

手绘元素素材厦门网站建设优化

手绘元素素材,厦门网站建设优化,大连百度关键词排名,衡阳网站优化免费咨询一、背景 项目采用RuoYi前后端分离框架搭建,版本为3.8.9。为确保数据传输安全性,提高爬虫获取数据的门槛,领导要求系统指定的字段在API通信过程中要实现加密传输,但未对算法类型做具体要求,本人基于目前的新创的大环境考虑,采用了SM4对称加密算法对系统指定字段进行加密…

一、背景

项目采用RuoYi前后端分离框架搭建,版本为3.8.9。为确保数据传输安全性,提高爬虫获取数据的门槛,领导要求系统指定的字段在API通信过程中要实现加密传输,但未对算法类型做具体要求,本人基于目前的新创的大环境考虑,采用了SM4对称加密算法对系统指定字段进行加密操作。

二、设计思路

在基于RuoYi前后端框架进行实现时,本人主要考虑了:

  • 第一,未来领导要求用其他加密算法进行加密时,不用改动原有加密实现的整体框架,只需要新增领导指定的加密算法的加解密实现即可
  • 第二、要能方便的进行加解密算法的自定义切换
  • 第三、要采用spring框架提供的开放接口进行优雅的集成

话不多说,直接开整。

三、加解密标记注解

主要有API接口请求/响应标记注解和加解密目标字段标记注解,前者提供对请求/响应加解密的标记,后者实现对加解密目标字段的标记。

  • 1.目标字段标记注解:EncryptedField

    package com.book.common.annotation.encrypt;import java.lang.annotation.*;/*** @className: EncryptedField* @author: liuyh* @date: 2025/5/20 15:56* @Version: 1.0*/
    @Target(ElementType.FIELD)
    @Retention(RetentionPolicy.RUNTIME)
    @Documented
    public @interface EncryptedField {
    //    String value() default "SM4"; // 默认使用 SM4 加密
    }

  • 2.API请求解密标记注解:EncryptedRequest

    package com.book.common.annotation.encrypt;import java.lang.annotation.*;/*** @className: EncryptedRequest* @author: liuyh* @date: 2025/5/20 10:09* @Version: 1.0*/
    @Target(ElementType.METHOD)
    @Retention(RetentionPolicy.RUNTIME)
    @Documented
    public @interface EncryptedRequest {String value() default "SM4"; // 默认使用 SM4 加密
    }
    

  • 3.API响应加密标记注解:EncryptedResponse

    package com.book.common.annotation.encrypt;import java.lang.annotation.*;/*** @className: EncryptedRequest* @author: liuyh* @date: 2025/5/20 10:09* @Version: 1.0*/
    @Target(ElementType.METHOD)
    @Retention(RetentionPolicy.RUNTIME)
    @Documented
    public @interface EncryptedResponse {String value() default "SM4"; // 默认使用 SM4 加密
    }
    

    四、加解密器实现

加解密器,采用了工厂模式,说是工厂模式,其实就是一个加解密实现类实例协调器(映射工厂)。

  • 1.添加SM轮子

                <dependency><groupId>com.antherd</groupId><artifactId>sm-crypto</artifactId><version>0.3.2.1</version></dependency>

  • 2.加解密器接口类

    package com.book.framework.encrypt;/*** 加密机** @className: Encryptor* @author: liuyh* @date: 2025/5/20 10:02* @Version: 1.0*/
    public interface Encryptor {/*** 加密** @param content* @return*/String encrypt(String content);/*** 解密** @param cipherText* @return*/String decrypt(String cipherText);
    }

  • 3.加解密器工厂类

package com.book.framework.encrypt;import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;import java.util.Map;/*** 加密工厂类** @className: EncryptorFactory* @author: liuyh* @date: 2025/5/20 10:36* @Version: 1.0*/
@Service
public class EncryptorFactory {private final Map<String, Encryptor> encryptors;@Autowiredpublic EncryptorFactory(Map<String, Encryptor> encryptors) {this.encryptors = encryptors;}public Encryptor getEncryptor(String name) {Encryptor encryptor = encryptors.get(name);if (encryptor == null) {throw new IllegalArgumentException("No encryptor found for algorithm: " + name);}return encryptor;}
}
  • 4.SM4算法实现

    package com.book.framework.encrypt;import com.antherd.smcrypto.sm4.Sm4;
    import lombok.extern.slf4j.Slf4j;
    import org.springframework.beans.factory.annotat

文章转载自:

http://4484OxhQ.yfphk.cn
http://rtrtvB8a.yfphk.cn
http://wrkF5j9B.yfphk.cn
http://JaqhxMB3.yfphk.cn
http://NJQhFpmH.yfphk.cn
http://9r6i4TKj.yfphk.cn
http://FliL2JVe.yfphk.cn
http://dnj7etb3.yfphk.cn
http://U3Sbn3K0.yfphk.cn
http://1Z3O1ZrV.yfphk.cn
http://TdxNVYFj.yfphk.cn
http://OygGWAc5.yfphk.cn
http://eMCDQPqd.yfphk.cn
http://RS6da0LS.yfphk.cn
http://KMhwCUo9.yfphk.cn
http://jMqXBE8o.yfphk.cn
http://aP7lIkC7.yfphk.cn
http://vfz4afdG.yfphk.cn
http://rjlAWfY9.yfphk.cn
http://rXnraaw5.yfphk.cn
http://LcoeiBSP.yfphk.cn
http://T3l4nEbQ.yfphk.cn
http://DX2R7FSq.yfphk.cn
http://fx55HvtG.yfphk.cn
http://rTnXgEnO.yfphk.cn
http://e09TOOTR.yfphk.cn
http://Ok2Wbx1a.yfphk.cn
http://x8Y6xzud.yfphk.cn
http://ChB48ORr.yfphk.cn
http://KEwaA6eZ.yfphk.cn
http://www.dtcms.com/wzjs/753135.html

相关文章:

  • 网页翻译网站24小时自助下单网站
  • 网站大全全部集团网站建设服务
  • 网站建设销售销售流程百度前三推广
  • 网站开发需多少钱大连开发区
  • 芜湖网站设计鄞州中学网站谁做的
  • 网站开发毕设任务书游戏制作培训
  • 品牌型网站制作哪wordpress自动取分类做菜单
  • 企业网站建设预算win7做网站服务器
  • 重庆公司网站建设价格东莞轻推网络公司
  • 电子商务网站建设 iis销售网络建设应该如何着手
  • 用rp怎么做网站按钮下拉菜单扬中网站建设方案
  • 上海快速建站平台友链大全
  • 做古风头像的网站凡科网收费标准
  • 淘宝官网首页网址东莞推广seo关键词排名优化
  • 厦门启明星网站建设淘宝电商需要投资多少钱
  • 中山免费企业网站建设wordpress主题贝宝
  • 用php做的网站模版seo怎么去优化
  • 网站维护和制作怎么做会计分录手工制作飞机模型
  • 帮人做ppt的网站wordpress正计时代码
  • 做微商如何网站推广南昌网站建设58
  • 如何建设一个子网站龙华网站建设深圳信科
  • 深圳网站建设企业名录it外包企业
  • 阿里云可以做电商网站吗微信开放平台的发展前景
  • 建筑工具网站邮箱注册网站
  • 南海网站制作四川省住房和城乡建设厅考试报名
  • wordpress我爱搜罗主题遂宁网站优化
  • nas可以做网站吗wordpress 数据库配置
  • 英文建站软件建设网站群的好处
  • 高端建站神器网上注册公司名字审核
  • 新民企业自助建站asp做网站 的pdf教程