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

数据安全_笔记系列02:国密算法(商用密码算法)详解

数据安全_笔记系列02:国密算法(商用密码算法)详解

国密算法是中国国家密码管理局(现国家密码管理局)制定的一系列自主可控的密码算法标准,旨在保障国内信息安全,满足合规要求。以下从 算法类型、技术细节、应用场景、工具实现、合规政策 等维度全面解析:


一、国密算法分类与核心标准

算法类型国密标准对标国际算法核心用途
非对称加密SM2RSA/ECC数字签名、密钥交换
对称加密SM4AES数据加密(无线局域网、存储)
哈希算法SM3SHA-256数据完整性校验、数字摘要
标识密码SM9-基于身份的加密(无需证书)

二、技术细节与原理

1. SM2(椭圆曲线公钥密码算法)
  • 基础参数

    • 基于椭圆曲线密码(ECC),曲线方程为 y2=x3+ax+by2=x3+ax+b。

    • 推荐曲线:SM2标准曲线(256位素数域)。

  • 核心功能

    • 数字签名:生成与验证签名(类似ECDSA)。

    • 密钥交换:双方协商共享密钥(类似ECDH)。

    • 加密解密:支持公钥加密、私钥解密。

  • 优势

    • 同等安全强度下,密钥长度比RSA更短(256位 vs RSA 2048位)。

    • 抗量子计算攻击能力优于RSA。

2. SM4(分组对称加密算法)
  • 参数

    • 分组长度:128位。

    • 密钥长度:128位。

    • 加密轮数:32轮。

  • 加密流程

    1. 密钥扩展:生成32个轮密钥。

    2. 轮函数:包含非线性变换(S盒)、线性变换(L函数)。

    3. 加解密对称性:解密流程为加密的逆序。

  • 模式支持:CBC、ECB、CTR等(需使用国密标准填充方式)。

3. SM3(密码杂凑算法)
  • 输出长度:256位哈希值。

  • 结构:基于Merkle-Damgård结构,压缩函数类似SHA-256但设计不同。

  • 抗碰撞性:目前无已知有效攻击方法。

4. SM9(标识密码算法)
  • 核心特点

    • 基于双线性对(Bilinear Pairing)实现,用户身份(如邮箱)即公钥。

    • 无需数字证书,简化密钥管理。

  • 应用场景:物联网设备认证、政务系统内部通信。


三、国密算法应用场景

1. 金融行业
  • 银联芯片卡:SM4加密交易数据,SM2用于数字证书。

  • 移动支付:SM3保障交易报文完整性。

2. 政务与通信
  • 电子政务外网:SM2/SM9实现身份认证与加密通信。

  • 5G通信:SM4加密用户面数据。

3. 物联网(IoT)
  • 设备认证:SM9实现无证书的轻量级身份验证。

  • 数据传输:SM4-CBC加密传感器数据。


四、开发与工具实现

1. 开源库与工具
  • GmSSL:支持国密算法的OpenSSL分支。

    • 生成SM2密钥对

      bash

      复制

      gmssl ecparam -genkey -name sm2p256v1 -out sm2-key.pem
      gmssl ec -in sm2-key.pem -pubout -out sm2-pub.pem
    • SM4加密文件

      bash

      复制

      gmssl enc -sm4-cbc -e -in plain.txt -out encrypted.bin -K 0123456789ABCDEFFEDCBA9876543210 -iv 0000000000000000
  • Python库gmsslcryptography(部分支持)。

    python

    复制

    from gmssl import sm2, sm4
    # SM2加密示例
    private_key = '00...'  # 64字节私钥
    public_key = '04...'   # 130字节公钥(含04前缀)
    cipher = sm2.CryptSM2(public_key=public_key, private_key=private_key)
    encrypted_data = cipher.encrypt(b"Secret Message")
2. 硬件支持
  • 国密芯片:如华大电子、国民技术的安全芯片,支持SM2/SM4硬件加速。

  • HSM(硬件安全模块):江南天安、三未信安等厂商提供国密HSM。


五、国密算法合规要求

1. 政策法规
  • 《密码法》:要求关键信息基础设施使用商用密码(国密算法)。

  • 金融行业:央行要求支付系统优先采用国密算法(如银联POS终端)。

  • 等保2.0:三级以上系统需使用国密算法进行数据传输加密。

2. 国密改造步骤
  1. 算法替换:将国际算法(如RSA、AES)替换为SM2/SM4。

  2. 协议升级:采用国密SSL协议(如TLCP协议,基于SM2/SM3/SM4)。

  3. 证书体系:申请国密SSL证书(由CFCA等机构颁发)。


六、国密 vs 国际算法对比

维度国密算法国际算法(如RSA/AES)
合规性符合中国法规,强制使用场景需额外审批,可能不符合监管要求
密钥长度更短(SM2 256位 vs RSA 2048)较长
性能SM4软件实现速度与AES相当AES硬件加速更成熟
生态支持逐步完善,部分开源库支持广泛支持

七、典型问题与解决方案

Q1:如何兼容现有国际算法系统?
  • 方案

    • 双算法支持:系统同时支持国密和RSA/AES,逐步过渡。

    • 网关代理:通过国密网关将国际算法流量转换为国密协议。

Q2:SM2签名与国际标准是否互通?
  • 挑战:SM2签名格式与ECDSA不兼容。

  • 方案:使用RFC规范(如RFC 5480扩展)封装SM2签名。

Q3:国密算法是否抗量子计算?
  • 现状:SM2基于ECC,理论上不抗量子计算;SM9基于标识密码,安全性更高。

  • 未来:中国密码局正在制定后量子密码标准(如LAC算法)。


八、实施案例

1. 某银行国密改造
  • 动作

    • 核心系统采用SM4加密数据库敏感字段。

    • 网上银行使用SM2 SSL证书(TLCP协议)。

  • 效果:通过央行验收,满足《金融领域密码应用指导意见》。

2. 政务云平台
  • 动作

    • 使用SM9实现跨部门身份认证,无需CA证书。

    • 数据交换通道采用SM4-GCM加密。

  • 效果:简化密钥管理,提升系统合规性。


九、资源推荐

  • 标准文档

    • 《GM/T 0003-2012 SM2椭圆曲线公钥密码算法》

    • 《GM/T 0004-2012 SM3密码杂凑算法》

  • 开发资源

    • GmSSL官网:https://github.com/guanzhi/GmSSL

    • 国密算法测试工具:密码管理局发布的《商用密码检测工具》


通过国密算法的实施,企业不仅能满足国内合规要求,还可提升自主可控的安全能力。核心建议

  1. 优先采用硬件加速(如国密芯片)提升性能。

  2. 与监管机构保持沟通,及时获取算法更新信息。

  3. 开发阶段集成国密支持,避免后期改造成本过高。

数据加密中的国密算法即国家密码管理局认定的国产密码算法,主要包括 SM1、SM2、SM3、SM4 等,以下是对它们的详细介绍:

SM1 算法

  • 算法简介:SM1 是一种分组密码算法,它的分组长度和密钥长度均为 128 位。该算法采用 32 轮迭代的 Feistel 结构,具有较高的安全性和良好的实现效率。
  • 应用场景:由于其安全性较高且运算速度较快,适用于对安全性要求较高的金融、通信等领域,常用于数据加密、身份认证等场景,如金融 IC 卡的交易加密等。

SM2 算法

  • 算法简介:SM2 是基于椭圆曲线密码体制(ECC)的公钥密码算法。它利用椭圆曲线上的离散对数问题的困难性来保证算法的安全性,包括数字签名、密钥交换等功能。
  • 应用场景:在信息安全领域应用广泛,如电子政务、电子商务中的数字证书、数字签名等场景,用于保障数据的真实性、完整性和不可否认性。例如,在电子合同签署中,使用 SM2 算法进行数字签名,确保合同内容不被篡改,签署方身份真实可靠。

SM3 算法

  • 算法简介:SM3 是一种哈希算法,它可以将任意长度的数据映射为固定长度的哈希值,通常为 256 位。该算法通过对数据进行多轮迭代运算,生成具有唯一性和抗碰撞性的哈希值。
  • 应用场景:常用于数据完整性校验、数字签名中的消息摘要生成等场景。在文件传输中,发送方和接收方可以通过计算文件的 SM3 哈希值来验证文件在传输过程中是否被篡改。

SM4 算法

  • 算法简介:SM4 是一种分组对称密码算法,分组长度和密钥长度均为 128 位。它采用 32 轮迭代的非线性迭代结构,具有高效、安全的特点。
  • 应用场景:在无线局域网、物联网等领域应用较多,用于对数据进行加密保护,确保数据在传输和存储过程中的保密性。如智能家居设备之间的数据传输加密,可采用 SM4 算法防止数据被窃取或篡改。

国密算法的优势

  • 安全性高:国密算法是经过严格的密码学分析和验证的,能够抵御各种已知的密码攻击手段,保障数据的安全。
  • 自主可控:国密算法由我国自主研发,拥有完全的自主知识产权,不受国外技术的限制和制约,能够有效保障国家信息安全和产业安全。
  • 符合国内合规要求:在我国,许多行业和领域都要求采用国密算法进行数据加密和安全防护,以满足法律法规和监管要求。

国密算法的发展趋势

  • 不断优化和创新:随着密码技术的不断发展和应用需求的不断变化,国密算法也在不断优化和创新,以提高算法的性能和安全性。
  • 与其他技术融合:国密算法将与人工智能、大数据、区块链等技术深度融合,为复杂的应用场景提供更安全、高效的密码解决方案。
  • 国际化推广:我国积极推动国密算法的国际化,让国密算法在国际舞台上发挥更大的作用,提升我国在密码领域的国际影响力。

相关文章:

数据安全_笔记系列02:国密算法(商用密码算法)详解

数据安全_笔记系列02:国密算法(商用密码算法)详解 国密算法是中国国家密码管理局(现国家密码管理局)制定的一系列自主可控的密码算法标准,旨在保障国内信息安全,满足合规要求。以下从 算法类型、技术细节、…...

全面汇总windows进程通信(三)

在Windows操作系统下,实现进程间通信(IPC, Inter-Process Communication)有几种常见的方法,包括使用管道(Pipe)、共享内存(Shared Memory)、消息队列(Message Queue)、命名管道(Named Pipe)、套接字(Socket)等。本文介绍如下几种: RPC(远程过程调用,Remote Pr…...

Python爬虫-破解字体加密技术

前言 本文是该专栏的第77篇,后面会持续分享python爬虫干货知识,记得关注。 字体加密是一种常见的反爬虫技术,通过自定义字体文件和字符映射来保护网页内容,防止爬虫直接获取文本信息。 而本文,笔者将针对“如何解决目标平台的字体加密技术,并获取目标数据”,进行详细介…...

Pytorch实现论文:基于多尺度融合生成对抗网络的水下图像增强

简介 简介:提出了一种新型的水下图像增强算法,基于多尺度融合生成对抗网络,名为UMSGAN,以解决低对比度和颜色失真的问题。首先经过亮度的处理,将处理后的图像输入设计的MFFEM模块和RM模块生成图像。该算法旨在适应各种水下场景,提供颜色校正和细节增强。 论文题目:Und…...

【Python量化金融实战】-第1章:Python量化金融概述:1.1量化金融的定义与发展历程

本小节学习建议:掌握Python编程、统计学(时间序列分析)、金融学基础(资产定价理论)三者结合,是进入量化领域的核心路径。 👉 点击关注不迷路 👉 点击关注不迷路 文章目录 1.1 量化金…...

大数据组件(四)快速入门实时数据湖存储系统Apache Paimon(3)

Paimon的下载及安装,并且了解了主键表的引擎以及changelog-producer的含义参考: 大数据组件(四)快速入门实时数据湖存储系统Apache Paimon(1) 利用Paimon表做lookup join,集成mysql cdc等参考: 大数据组件(四)快速入门实时数据…...

【论文解读】《Training Large Language Models to Reason in a Continuous Latent Space》

论文链接 1. 背景与动机 语言空间与推理的矛盾 目前大多数大语言模型(LLMs)在解决复杂问题时采用链式思维(Chain-of-Thought, CoT)方法,即利用自然语言逐步推导出答案。然而,论文指出: 自然语言…...

Linux-CentOS 7安装

Centos 7镜像:https://pan.baidu.com/s/1fkQHYT64RMFRGLZy1xnSWw 提取码: q2w2 VMware Workstation:https://pan.baidu.com/s/1JnRcDBIIOWGf6FnGY_0LgA 提取码: w2e2 1、打开vmware workstation 2、选择主界面的"创建新的虚拟机"或者点击左上…...

【Web RCE 漏洞常见类型】

Web RCE 漏洞常见类型 1. 注入类漏洞2. 反序列化漏洞3. 文件处理漏洞4. 模板引擎漏洞5. 服务端请求伪造(SSRF)6. 框架/中间件漏洞7. 第三方组件漏洞8. 配置不当与协议滥用9. 其他边缘场景防御建议 以下是可以导致远程代码执行(RCE&#xff09…...

【蓝桥杯单片机】第十三届省赛第二场

一、真题 二、模块构建 1.编写初始化函数(init.c) void Cls_Peripheral(void); 关闭led led对应的锁存器由Y4C控制关闭蜂鸣器和继电器 2.编写LED函数(led.c) void Led_Disp(unsigned char ucLed); 将ucLed取反的值赋给P0 开启锁存器 关闭锁存…...

【够用就好006】-PC桌面管理ECS服务器的实操步骤

背景介绍解决思路拓展知识 背景介绍 #够用就好#知其然知其所以然#aigc创意人左边 我计划搭建个人网站,计划格式化我的ECS服务器,但是里面有我之前的实践项目,我舍不得删除,我想要保存到本地。 通常我都是在vscode中用remotes ssh…...

Spring Boot 2/3.x 中 MultipartFile 接收问题深度解析与实战解决方案

文章目录 引言:文件上传的暗礁与应对一、核心机制解析1.1 多部分请求处理流程1.2 关键配置参数演进 二、典型问题排查与修复2.1 文件接收为null问题2.2 大文件上传内存溢出 三、版本差异陷阱3.1 Jakarta Servlet API迁移影响3.2 默认配置变更对比 四、高级问题解决方…...

MySQL的三种并发问题和四种隔离级别

阅读之前,请心里默念,脏读、不可重复读、幻读是三种常见的并发问题,隔离级别是应对并发问题的四种隔离级别,隔离级别和并发问题是两个东西,不要混淆。 在数据库事务中,脏读(Dirty Read&#xff…...

【复习】Redis

数据结构 Redis常见的数据结构 String&#xff1a;缓存对象Hash&#xff1a;缓存对象、购物车List&#xff1a;消息队列Set&#xff1a;点赞、共同关注ZSet&#xff1a;排序 Zset底层&#xff1f; Zset底层的数据结构是由压缩链表或跳表实现的 如果有序集合的元素 < 12…...

【Docker】如何在Linux、Windows、MacOS中安装Docker

Linux安装Docker 在终端中执行一键安装脚本命令安装dockersudo curl -fsSL https://gitee.com/tech-shrimp/docker_installer/releases/download/latest/linux.sh | bash -s docker --mirror Aliyun1.1 配置docker镜像源 在终端执行 一行命令,编辑配置文件sudo tee /etc/docke…...

Linux System V - 消息队列与责任链模式

概念 消息队列是一种以消息为单位的进程间通信机制&#xff0c;允许一个或多个进程向队列中发送消息&#xff0c;同时允许一个或多个进程从队列中接收消息。消息队列由内核维护&#xff0c;具有以下特点&#xff1a; 异步通信&#xff1a;发送方和接收方不需要同时运行&#x…...

k2路由器登录校园网

教程1刷入Breed&#xff0c;并手动刷入Padavan固件&#xff1a;斐讯K1、K2、K2P 刷机、刷入Breed 辅助工具 | tb (tbvv.net) Padavan下载网址&#xff1a; 我用的是&#xff1a; Padavan 登录的网址是 192.168.123.1 Padavan配置教程&#xff1a; 先用网线连上校园网&#…...

Docker基础实践与应用举例

Docker 是一个轻量级容器化平台&#xff0c;通过将应用及其依赖打包到容器中&#xff0c;实现快速部署和环境一致性。以下是 Docker 的实践与应用场景举例&#xff0c;结合具体操作步骤&#xff1a; 一、基础实践 1. 快速启动一个容器 # 运行一个Nginx容器&#xff0c;映射宿…...

EndNote与Word关联:科研写作的高效助力

在科研领域&#xff0c;文献管理与论文写作是紧密相连的重要环节。EndNote作为一款强大的文献管理工具&#xff0c;与Word实现有效关联后&#xff0c;能极大地提升科研写作效率。本文将详细介绍EndNote与Word关联的方法、关联后的优势、常见问题及解决办法&#xff0c;助力科研…...

用PyTorch从零构建 DeepSeek R1:模型架构和分步训练详解

DeepSeek R1 的完整训练流程核心在于&#xff0c;在其基础模型 DeepSeek V3 之上&#xff0c;运用了多种强化学习策略。 本文将从一个可本地运行的基础模型起步&#xff0c;并参照其技术报告&#xff0c;完全从零开始构建 DeepSeek R1&#xff0c;理论结合实践&#xff0c;逐步…...

SOME/IP-SD -- 协议英文原文讲解2

前言 SOME/IP协议越来越多的用于汽车电子行业中&#xff0c;关于协议详细完全的中文资料却没有&#xff0c;所以我将结合工作经验并对照英文原版协议做一系列的文章。基本分三大块&#xff1a; 1. SOME/IP协议讲解 2. SOME/IP-SD协议讲解 3. python/C举例调试讲解 5.1.2.2 S…...

Matlab——图像保存导出成好看的.pdf格式文件

点击图像的右上角&#xff0c;点击第一个保存按钮键。...

Mybatis常用动态 SQL 相关标签

1. <if> 用于条件判断&#xff0c;当满足条件时执行对应的 SQL 片段。 示例: <select id"findUser" resultType"User">SELECT * FROM usersWHERE 11<if test"name ! null and name ! ">AND name #{name}</if><if…...

计算机网络与通讯知识总结

计算机网络与通讯知识总结 基础知识总结 1)FTP:文件传输 SSH:远程登录 HTTP:网址访问 2)‌交换机 定义‌:一种基于MAC地址实现局域网(LAN)内数据高速转发的网络设备,可为接入设备提供独享通信通道‌。 -‌ 核心功能‌: 1.数据链路层(OSI第二层)工作,通过MAC地址…...

Redis 通用命令

Redis 通用命令 文章目录 Redis 通用命令 1. 启动redis 1.1 前台启动1.2 后台启动1.3 开机自启 2.Redis命令行客户端3. 常见命令 3.1 help3.2 KEYS3.3 DEL3.4 EXISTS3.5 EXPIRE&TTL 1. 启动redis 1.1 前台启动 在安装好redis后&#xff0c;我们可以在任意目录输入以…...

【idea问题排查技巧】

以下是针对 IDEA 中 日志打标(动态标记) 和 全链路追踪 功能的分步详解,结合具体场景和操作截图说明,帮助快速掌握实战技巧。 一、动态日志打标:不修改代码输出关键信息 1. 断点日志打印(非侵入式打标) 场景:在调试时,需要临时查看某个变量的值,但不想修改代码添加…...

VSCode自定义快捷键和添加自定义快捷键按键到状态栏

VSCode自定义快捷键和添加自定义快捷键按键到状态栏 &#x1f4c4;在VSCode中想实现快捷键方式执行与某些指令操作进行绑定&#xff0c;可以通过配置组合式的键盘按键映射来实现&#xff0c;另外一种方式就是将执行某些特定的指令嵌入在面板菜单上&#xff0c;在想要执行的时候…...

【Redis 原理】通信协议 内存回收

文章目录 通信协议--RESP内存回收内存过期策略惰性删除周期删除 内存淘汰策略 通信协议–RESP Redis是一个CS架构的软件&#xff0c;通信一般分两步&#xff08;不包括pipeline和PubSub&#xff09;&#xff1a; 客户端&#xff08;client&#xff09;向服务端&#xff08;se…...

AWS - Redshift - 外部表读取 Parquet 文件中 timestamp 类型的数据

问题&#xff1a; 通过 Redshift Spectrum 功能可以读取 S3 中的文件&#xff0c;当读取 Parquet 文件时&#xff0c;如果列格式设置为 timestamp&#xff0c; 通过 psql 客户端读取会出现以下错误&#xff1a; testdb# select * from myspectrum_schema_0219.test_ns; ERROR…...

H5--开发适配

在 H5 开发中&#xff0c;适配不同设备和屏幕尺寸至关重要&#xff0c;它能确保页面在各种环境下都有良好的显示效果和用户体验。以下介绍几种常见的 H5 开发适配方案&#xff1a; 视口&#xff08;Viewport&#xff09;设置 视口单位是相对于浏览器视口的尺寸进行度量的单位&…...

llama-factory部署微调方法(wsl-Ubuntu Windows)

llama-factory项目GitHub地址&#xff1a;GitHub - hiyouga/LLaMA-Factory: Unified Efficient Fine-Tuning of 100 LLMs & VLMs (ACL 2024) wsl-Ubuntu&#xff1a; 1.获取项目 git clone https://github.com/hiyouga/LLaMA-Factory.gitcd LLaMA-Factory/ 2.安装环境…...

【Unity】鱼群效果模拟

鱼群效果模拟 文章目录 鱼群效果模拟Boid算法实现方式version1_CPUversion2_GPUversion3_Multilaterationversion4_Bitonic_Sorting &#xff08;GPU友好&#xff09;version5_Skinning &#xff08;TODO&#xff09; 细节项优化项参考链接 Boid算法 Boid算法是一种模拟群体行…...

C++ 编程语言简介

C 是一种通用编程语言&#xff0c;它是作为 C 语言的增强而开发的&#xff0c;以包含面向对象的范例。它是一种命令式和编译语言。 C 是一种高级的通用编程语言&#xff0c;专为系统和应用程序编程而设计。它由贝尔实验室的 Bjarne Stroustrup 于 1983 年开发&#xff0c;作为…...

Day15-后端Web实战-登录认证——会话技术JWT令牌过滤器拦截器

目录 登录认证1. 登录功能1.1 需求1.2 接口文档1.3 思路分析1.4 功能开发1.5 测试 2. 登录校验2.1 问题分析2.2 会话技术2.2.1 会话技术介绍2.2.2 会话跟踪方案2.2.2.1 方案一 - Cookie2.2.2.2 方案二 - Session2.2.2.3 方案三 - 令牌技术 2.3 JWT令牌2.3.1 介绍2.3.2 生成和校…...

迪威模型:引领 3D 模型轻量化技术革新

在数字化时代&#xff0c;3D 模型的应用领域愈发广泛&#xff0c;从影视制作、游戏开发到工业设计、建筑仿真等&#xff0c;都离不开 3D 模型的支持。然而&#xff0c;随着模型复杂度的不断提高&#xff0c;文件体积也日益庞大&#xff0c;这给存储、传输和加载带来了极大的挑战…...

大学本科教务系统设计方案,涵盖需求分析、架构设计、核心模块和技术实现要点

以下是大学本科教务系统的设计方案,涵盖需求分析、架构设计、核心模块和技术实现要点: 大学本科教务系统设计方案 一、需求分析 1. 核心用户角色 角色功能需求学生选课/退课、成绩查询、课表查看、学分统计、考试报名、学业预警教师成绩录入、课程大纲上传、教学进度管理、…...

安装Liunx(CentOS-6-x86_64)系统

一&#xff1a;下载与安装Liunx&#xff08;CentOS-7-x86_64&#xff09; 1.下载&#xff1a; CentOS-6.10-x86_64-bin-DVD1.iso 2.安装&#xff1a; 按照自己的需求来 下载的镜像文件地址 加载完成后设置 查看网络和本地ip 3.配置仓库&#xff08;用于yum下载&#xff0…...

DeepSeek开源周 Day01:从FlashMLA背后原理回顾KV Cache

FlashMLA 今天DeepSeek开源周第一天&#xff0c;开放了FlashMLA仓库&#xff0c;1小时内星标1.6k&#xff01; FlashMLA 是一个高效的 MLA 解码内核&#xff0c;专为 Hopper GPU 优化&#xff0c;适用于可变长度序列。该项目目前发布了 BF16 和具有 64 块大小分页 kvcache 的功…...

java23种设计模式-工厂方法模式

工厂方法模式&#xff08;Factory Method Pattern&#xff09;学习笔记 &#x1f31f; 定义 工厂方法模式属于创建型设计模式&#xff0c;定义一个创建对象的接口&#xff0c;但让子类决定实例化哪一个类。将类的实例化操作延迟到子类&#xff0c;是面向对象设计中"开闭…...

数据驱动未来!天合光能与永洪科技携手开启数字化新篇章

在信息化时代的今天&#xff0c;企业间的竞争早就超越了传统产品与服务的范畴&#xff0c;新的核心竞争力即——数据处理能力和信息技术的应用。作为数据技术领域的领军者&#xff0c;永洪科技凭借其深厚的技术积累和丰富的行业经验&#xff0c;成功助力天合光能实现数字化升级…...

【C++设计模式】工厂方法设计模式:深入解析从基础到进阶

1. 引言 在软件开发的世界里,设计模式如同巧妙的建筑蓝图,为解决常见问题提供了行之有效的方案。工厂方法模式作为一种广受欢迎的创建型设计模式,以其独特的优势在众多项目中得到广泛应用。它不仅能够为对象的创建提供通用且灵活的方式,还能有效隐藏实现细节,提升代码的可…...

Vue 3 + Vite 项目中配置代理解决开发环境中跨域请求问题

在 Vue 3 Vite 项目中&#xff0c;配置代理是解决开发环境中跨域请求问题的常见方法。通过在 Vite 的配置文件中设置代理&#xff0c;可以将前端请求转发到后端服务器&#xff0c;从而避免浏览器的同源策略限制。 1. 创建 Vue 3 Vite 项目 首先&#xff0c;确保你已经安装了…...

2.3 变量

版权声明&#xff1a;本文为博主原创文章&#xff0c;转载请在显著位置标明本文出处以及作者网名&#xff0c;未经作者允许不得用于商业目的。 变量是用来存放某个值的数据&#xff0c;它可以表示一个数字、一个字符串、一个结构、一个类等。变量包含名称、类型和值。在代码中…...

16、Python面试题解析:python中的浅拷贝和深拷贝

在 Python 中&#xff0c;浅拷贝&#xff08;Shallow Copy&#xff09; 和 深拷贝&#xff08;Deep Copy&#xff09; 是处理对象复制的两种重要机制&#xff0c;它们的区别主要体现在对嵌套对象的处理方式上。以下是详细解析&#xff1a; 1. 浅拷贝&#xff08;Shallow Copy&a…...

BUUCTF-Web方向21-25wp

目录 [HCTF 2018]admin弱口令session伪造 [MRCTF2020]你传你&#x1f40e;呢[护网杯 2018]easy_tornado[ZJCTF 2019]NiZhuanSiWei[MRCTF2020]Ez_bypass第一层第二层 [HCTF 2018]admin 打开环境&#xff0c;有三处提示&#xff0c;一个跳转链接&#xff0c;一个登录注册&#x…...

elementPlus 中表单验证方法(手机号、正整数、邮箱)

1、手机号验证 <el-form ref"formRef" :model"form" :rules"rule" label-width"100px"><el-form-item label"联系电话" prop"mobile"><el-input type"tel" v-model"form.mobile&q…...

阿里云 ACS:高效、弹性、低成本的容器计算解决方案

阿里云的 容器计算服务&#xff08;Alibaba Cloud Container Service, ACS&#xff09; 是一种 Serverless 容器计算 解决方案&#xff0c;提供高度弹性、低成本、易管理的 Kubernetes&#xff08;K8s&#xff09;容器运行环境。用户无需关注底层服务器资源&#xff0c;而是直接…...

启动Redis报错记录

突然启动Redis就报了个错&#xff1a;‘Could not create server TCP listening socket 127.0.0.1:6379: bind: 操作成功完成。‘ 查了下解决方案&#xff0c;应该是6379端口已绑定&#xff0c;服务没有关闭。 需要输入命令redis-cli 再输入shutdown 但又出现了新的问题&…...

springBoot统一响应类型2.0版本

前言&#xff1a; 通过实践而发现真理&#xff0c;又通过实践而证实真理和发展真理。从感性认识而能动地发展到理性认识&#xff0c;又从理性认识而能动地指导革命实践&#xff0c;改造主观世界和客观世界。实践、认识、再实践、再认识&#xff0c;这种形式&#xff0c;循环往…...

ubuntu离线安装Ollama并部署Llama3.1 70B INT4

文章目录 1.下载Ollama2. 下载安装Ollama的安装命令文件install.sh3.安装并验证Ollama4.下载所需要的大模型文件4.1 加载.GGUF文件&#xff08;推荐、更容易&#xff09;4.2 加载.Safetensors文件&#xff08;不建议使用&#xff09; 5.配置大模型文件 参考&#xff1a; 1、 如…...