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

潮动九州网站建设网站开发技术流程

潮动九州网站建设,网站开发技术流程,网络设计的原则有哪些,帝国cms 调用网站名称文章目录概述一、背景与法规要求二、算法选型三、核心流程四、前端实现要点(伪代码)五、后端实现要点(伪代码)六、公钥存储策略七、全流程示例图八、总结与最佳实践推荐概述 随着信息安全法规日益严格,如《网络安全法》《数据安全法》和等保…

文章目录

  • 概述
  • 一、背景与法规要求
  • 二、算法选型
  • 三、核心流程
  • 四、前端实现要点(伪代码)
  • 五、后端实现要点(伪代码)
  • 六、公钥存储策略
  • 七、全流程示例图
  • 八、总结与最佳实践
  • 推荐

在这里插入图片描述


概述

随着信息安全法规日益严格,如《网络安全法》《数据安全法》和等保三级的落实,前后端通信中的敏感数据必须在传输层之上再加一层“国产加密”,才能满足合规与防护需求。接下来将以 SM2 与 SM4 为核心,详细剖析前端请求、后端处理及响应加密的全流程,并附示例代码,帮助读者快速落地。

一、背景与法规要求

  • 法规要求

    • 《网络安全法》《数据安全法》强调敏感数据加密存储与传输;
    • 等保三级对“重要信息系统”提出应用层加密需求。
  • 国产算法优势

    • SM2/SM4 系列为国家密码算法,已标准化并广泛验证;
    • 与通用算法(AES/RSA)兼容,便于渐进式升级。

二、算法选型

算法类型作用备注
SM2非对称用于交换对称密钥安全性强、计算效率适中
SM4对称用于加密具体业务数据性能优异,适合大数据量传输
AES对称兼容场景下的通用方案跨平台生态良好,可做备用或过渡方案

三、核心流程

阶段前端操作后端操作
初始化拉取后端 SM2 公钥生成 SM2 密钥对,并提供公钥接口
请求发送1. 生成随机 SM4 密钥
2. 用 SM4 加密业务数据
3. 用 SM2 公钥加密 SM4 密钥
4. 组装请求体
1. 用私钥解密获得 SM4 密钥
2. 用 SM4 解密业务数据
3. 业务处理
响应返回1. 用 SM4 加密响应 JSON
2. 可选:用私钥再 SM2 加密 SM4 密钥
3. 返回密文
前端解析1. (可选)用 SM2 公钥/私钥解密 SM4 密钥
2. 用 SM4 解密响应体

在这里插入图片描述
在这里插入图片描述

四、前端实现要点(伪代码)

  1. 公钥获取与存储

    // 初始化时调用
    async function fetchPublicKey() {const { data: { sm2PublicKey } } = await axios.get('/api/crypto/pubkey');// 建议存储在 Pinia 或 context 中store.commit('crypto/setPublicKey', sm2PublicKey);// 如需持久化,可选 localStoragelocalStorage.setItem('sm2PublicKey', sm2PublicKey);
    }
    
  2. 一次性 SM4 密钥生成

    import SM4 from 'sm-crypto/lib/sm4';function generateSM4Key() {// 16 字节随机密钥return window.crypto.getRandomValues(new Uint8Array(16)).join('');
    }
    
  3. 业务数据与密钥加密

    import SM2 from 'sm-crypto/lib/sm2';async function encryptRequest(payload) {const sm4Key = generateSM4Key();const sm2Pub = store.state.crypto.sm2PublicKey;const encryptedData = SM4.encrypt(JSON.stringify(payload), sm4Key);const encryptedKey = SM2.doEncrypt(sm4Key, sm2Pub);return { encryptedKey, encryptedData };
    }
    
  4. 封装与发送

    async function sendSecureRequest(api, payload) {const { encryptedKey, encryptedData } = await encryptRequest(payload);return axios.post(api, { key: encryptedKey, data: encryptedData });
    }
    

五、后端实现要点(伪代码)

以 Spring Boot 为例:

推荐使用Interceptor,这里仅是演示

@RestController
@RequestMapping("/api/secure")
public class SecureController {@Value("${crypto.sm2.private-key}")private String sm2PrivateKey;@PostMapping("/process")public ResponseEntity<?> process(@RequestBody SecurePayload payload) {// 1. 解密 SM4 密钥String sm4Key = SM2.decrypt(payload.getKey(), sm2PrivateKey);// 2. 解密业务数据String json = SM4.decrypt(payload.getData(), sm4Key);BusinessRequest req = objectMapper.readValue(json, BusinessRequest.class);// 3. 业务处理...BusinessResponse resp = service.handle(req);// 4. 加密响应String respJson = objectMapper.writeValueAsString(resp);String encryptedData = SM4.encrypt(respJson, sm4Key);return ResponseEntity.ok(Map.of("data", encryptedData));}
}

Tip:如需双向加密,可在响应里同时返回 encryptedKey: SM2.encrypt(sm4Key, clientPubKey)

六、公钥存储策略

  • 短期存储:Vue/Pinia 中维护,方便统一调用;
  • 持久化localStorage/sessionStorage,防止页面刷新导致丢失;
  • 安全性:SM2 公钥非机密,可安全保存在前端。

七、全流程示例图

FrontendBackendGET /api/crypto/pubkey{ sm2PublicKey }生成 SM4 密钥SM4 加密数据SM2 加密 SM4 密钥POST /process { key, data }SM2 解密 key → SM4KeySM4 解密 data → 业务数据业务处理SM4 加密响应{ data }SM4 解密 → 渲染FrontendBackend

八、总结与最佳实践

  • 密钥管理:后端妥善存储 SM2 私钥,使用 HSM 或环境变量;
  • 性能优化:SM4 加解密速度快,SM2 仅用于短字符串,加密开销可接受;
  • 兼容性:可与 AES/RSA 并行使用,逐步迁移;
  • 安全防护:配合 HTTPS,防止中间人;做好重放攻击检测(如加时间戳、随机串)。

推荐

https://gitee.com/lab1024/smart-admin

SmartAdmin 由 中国·洛阳 1024创新实验室 基于SpringBoot2/3+Sa-Token+Mybatis-Plus 和 Vue3+Ant Design Vue+Uni-App+Uni-UI,并以 「高质量代码」为核心,「简洁、高效、安全」的快速开发平台。

国内首个满足《网络安全-三级等保》、《数据安全》 功能要求,支持登录限制、接口国产加解密、数据脱敏等一系列安全要求。

前端提供 JavaScript和TypeScript双版本,后端提供 Java8+SpringBoot2.X和Java17+SpringBoot3.X 双版本。

同时 重磅开源 开源六年来 千余家企业验证过且正在使用 的代码规范: 《高质量代码思想》、《Vue3规范》、《Java规范》 ,让大家在这浮躁的世界里感受到一股把代码写好的清流!同时又能节省大量时间,减少加班,快乐工作,保持谦逊,保持学习,热爱代码,更热爱生活 !

在这里插入图片描述


文章转载自:

http://5Z0V9XjQ.hLfnh.cn
http://rdjdvvWY.hLfnh.cn
http://l3sK73Qb.hLfnh.cn
http://6ZbxW2DJ.hLfnh.cn
http://kuABA7ux.hLfnh.cn
http://h9Oo7x8t.hLfnh.cn
http://8lnyJ9E8.hLfnh.cn
http://nV3SKh1x.hLfnh.cn
http://9SnueBui.hLfnh.cn
http://vN2R60sa.hLfnh.cn
http://cMOXxCal.hLfnh.cn
http://OwpmX3bI.hLfnh.cn
http://Gj1Agpkt.hLfnh.cn
http://Q9nA6fCj.hLfnh.cn
http://kDy8pjfj.hLfnh.cn
http://UyW9PtWk.hLfnh.cn
http://o89a83hq.hLfnh.cn
http://aARNamd1.hLfnh.cn
http://P1cO0Oya.hLfnh.cn
http://6TA0sdjB.hLfnh.cn
http://VmuydHEM.hLfnh.cn
http://S2aCE1dv.hLfnh.cn
http://UGzTlHGy.hLfnh.cn
http://MWbjuTUe.hLfnh.cn
http://20Z9cmuL.hLfnh.cn
http://fgfJmZWB.hLfnh.cn
http://Hg9qa6uk.hLfnh.cn
http://uDh21ggc.hLfnh.cn
http://L5IqmiCj.hLfnh.cn
http://Do2hfh9k.hLfnh.cn
http://www.dtcms.com/wzjs/639921.html

相关文章:

  • 凡科做的网站手机版织梦网站栏目如何做下拉
  • 国外在线代理服务器免费吉林seo推广系统
  • 微网站域名惠州网络问政平台官网
  • 网站开发需要怎么做平面广告设计行业
  • 网站建设方案可以乱写吗简单描述一下网站制作的流程
  • wordpress 文章标签调用seo营销培训咨询
  • 论文网站建设格式辽宁建设厅查询网站首页
  • 如何做视频卖给网站电子网站
  • 网站建设的流程图示网站流量太高 如何做负载均衡
  • 公众号里链接的网站怎么做的网站建设的重要性
  • 宁波公司做网站美食网站建设内容规划
  • 网站连锁店查询怎么做郴州刚刚发生的事
  • wordpress直播网站主题目前最好的找工作平台
  • 网站建设与管理职责ui网页设计学院
  • 网站建设售后服务承诺顶尖文案网站
  • 国外自助建站肇庆建设工程备案的网站
  • 长沙网站seo哪家公司好如何自己开发一个网站
  • 网站怎么做白色字网站怎么做seo收录
  • 关于电子商务的网站推广方案关于重新建设网站的申请
  • 谷歌网站地图提交做网站运营的女生多吗
  • 自己服务器做网站如何备案wordpress5.2占用内存大
  • 建网站需要了解哪些网站建设知识网站建设要考虑哪些内容
  • 网站建设对企业的好处logo设计公司标志
  • 盐城网站开发效果电商平台网址
  • 智慧团建信息系统网站登录mvc网站入口asp
  • asp.net 获取网站域名网络公司经营范围网站建设
  • 制作公司网站 黑龙江集团网站风格
  • 如何百度到自己的网站嘉兴教育网站建设
  • 新型网络营销方式苏州网站seo公司
  • 企业网站的开发流程装修网线