从明文裸奔到密钥长城:HTTPS加密全链路攻防与CA信任锚点构建
前言:本文将从HTTP的隐患出发,深入剖析HTTPS如何通过加密算法、数字证书与信任链机制重塑网络通信的安全边界。我们将探讨协议的证书颁发机构(CA)的信任逻辑,以及HTTPS在性能与安全之间的平衡艺术。将帮助您更从容地应对网络威胁,在数字化浪潮中守护每一份数据的价值。
目录
http安全问题
一、密码学基本要素
二、加密方式
1.对称加密
2.非对称加密
三、数据摘要(数据指纹)
四、加密方案
方案一:只使用对称秘钥
方案二:只使用非对称秘钥
方案三:双方都用非对称加密
方案四:非对称+对称
五、证书机制
1.模拟黑客攻击
2.数据签名
3.CA机构
六、最优加密方案
方案五:非对称+对称+证书验证
http安全问题
HTTP的三大安全隐患
① 明文传输(无加密)
-
问题:HTTP传输的所有数据(如登录密码、信用卡号、聊天记录)均以明文形式在网络中传输,攻击者可轻易窃听(如通过抓包工具Wireshark)。
-
示例:登录信息泄露
在网页中使用GET请求方法上传登录信息时账号和密码是显露在外面的,如下:
或者抓包后使用Fiddler获取协议报文同样能获取到登录信息,如下抓取到的GET请求方法的报文:
抓取到的POST请求报文:
② 无身份验证
-
问题:HTTP无法验证通信双方的真实身份。攻击者可伪装成服务器(钓鱼网站)或客户端(伪造请求)。
-
示例:公共WiFi中,攻击者伪造一个与目标网站相同的HTTP页面,诱导用户输入敏感信息。
③ 数据易篡改
-
问题:HTTP数据在传输过程中可被中间人修改(如插入广告、劫持内容),且接收方无法察觉。
-
示例:
-
运营商在HTTP页面中注入弹窗广告。
-
攻击者篡改软件下载链接,替换为恶意程序。
-
https协议在应用层和传输层之间加一个对数据加密,解密的功能,实际上属于应用层。即TLS,SSL。TLS(传输层安全协议)和 SSL(安全套接层)是用于保护网络通信安全的加密协议。它们通过在客户端(如浏览器)和服务器之间建立加密连接,确保传输的数据不被窃听或篡改。
为什么能对数据窃取或篡改:
在客户端与服务器进行通信时要先经过运营商(中间人),所以数据是暴露在外面的。除此之外还会被黑客恶意攻击。
一、密码学基本要素
1.明文
-
定义:未经加密的原始信息,可以直接被人类或机器理解。
-
特点:
-
可读性:内容清晰明了,无需解密即可阅读(如文字、数字、文件)。
-
风险:如果明文在传输或存储中被截获,信息会完全暴露。
-
-
示例:
-
你发送的短信:“明天下午3点见面。”
-
保存在电脑中的密码文件:“password123”。
-
HTTP 协议传输的网页内容(未加密的网站)。
-
2.密文
-
定义:明文通过加密算法处理后生成的“乱码”,无法直接理解。
-
特点:
-
不可读性:必须通过解密才能还原为明文。
-
安全性:即使被截获,攻击者也无法直接获取原始信息(除非破解加密)。
-
-
示例:
-
明文“123456”经 AES 加密后变为:
U2FsdGVkX1+2Z1z7Vp6N8g==
。 -
HTTPS 协议传输的加密数据(如银行交易信息)。
-
经过加密的 Wi-Fi 通信内容。
-
3.密钥
什么是密钥?
- 通常是一串随机生成的二进制数据(如 256 位随机数),用于加密算法。
- 不直接由用户记忆,而是由系统自动生成和管理。
与密码的区别:密码是用户自定义的字符串(如 P@ssw0rd123
),用于身份验证。安全性较低(易被猜测或暴力破解),通常需通过算法(如 PBKDF2)转换为密钥。
密钥怎么使用?
-
加密:明文 + 加密算法 + 密钥 → 密文。
-
解密:密文 + 解密算法 + 密钥 → 明文。
-
没有密钥,加密数据无法被还原(除非暴力破解,但现代强加密算法几乎不可行)。
密钥类型:
-
公钥(Public Key):公开,可在网络中传输,能被中间人获取。
-
私钥(Private Key):严格保密,保存在本地,不能在网络中传输。
这部分涉及密码学和数学,我们不做更细节的探讨。像类似加密解密的操作并不是互联网特有的,而是生活中普遍存在的。
二、加密方式
1.对称加密
-
场景:你有一把钥匙,用它锁上房门(加密),再用同一把钥匙打开门锁(解密)。
举一个不恰当的例子,如:a = 10,b=20,temp = a^b 其中a:数据b:密钥temp:密文^:加密算法 加密与解密:加密:temp = a^b解密:a = temp^b
特点:密钥相同,速度快效率高,算法公开。
2.非对称加密
非对称加密:两个密钥公开和私有,即公钥和私钥,可以是公钥加密 私钥解密,或反过来,私钥加密 公钥解密。
场景:邮局提供两种钥匙:
-
公钥:任何人都可以将信件投进你的信箱(加密)。
-
私钥:只有你有信箱的钥匙,能取出信件(解密)。
特点:算法复杂,效率低。
三、数据摘要(数据指纹)
数据指纹,其基本原理是利用单向散列函数(Hash 函数)对信息进行运算,生成一串固定⻓度的数字摘要。 数字指纹并不是一种加密机制,因为它是不可逆的,无法进行解密(也无需解密),它的意义在于可以用来判断数据有没有被篡改。如果数据被篡改过,尽管只是有一点点的改动,数据摘要都大有不同。
数据摘要具有唯一性,和人的指纹一样,所以也叫数据指纹。
数据通过哈希算法生成的散列值就是数据摘要,在将数据摘要进行加密就是数据签名,关于数据签名的使用在下文详细讲解。
应用场景1:百度秒传
应用场景2:数据库对私有信息的保护
四、加密方案
说明:
- server:服务器
- client:客户端
方案一:只使用对称秘钥
server通常就只有一个,而client可以有很多,各个客户端就需要有独立的密钥,也就是每连接一个客户端,就要新生成一个密钥。那么服务器怎么得知客户端生成的密钥呢?
通过网络传输吗?那么怎么保证密钥传输的安全呢?进行加密?
这已经变成一个鸡生蛋,蛋生鸡的问题了,没有可行性(首次无法同步密钥)。我们来看方案二。
方案二:只使用非对称秘钥
server把公钥给client,给黑客获取也没关系,因为它并不知道私钥,client用公钥生成密文,服务器用私钥解密。
貌似可以解决数据安全问题,但依旧有问题。
- server用私钥加密数据给client,client用公钥解密。但在此之前需要进行秘钥同步,即server需要把公钥传给client,而公钥本身是明文传送,黑客可以获取到。只是单向数据安全。
- 运算速度慢,效率低。
如下图解:
方案三:双方都用非对称加密
双方都有各自的公钥和私钥,用对方的公钥加密,用自己的私钥解密。
首次交互,需要进行公钥交换。
貌似可行,同样的有两个问题:
- 不安全。具体什么问题这里先不管,看完下文就明白了。
- 算法复杂,通信很慢。
方案四:非对称+对称
通过非对称密钥进行密钥协商生成对称密钥,然后使用对称密钥进行加密和解密,主要解决通信效率问题。
原理:client请求到server的公钥s,client生成自己的对称密钥x,再用公钥s对密钥x加密,传输给server,server用私钥s'解密得到密钥x,此后双方使用对称密钥x进行通信。
该方案比前三者好多了,看似无懈可击,其实还有问题,要知道道高一尺魔高一丈,我们继续往下看。
五、证书机制
1.模拟黑客攻击
对于方案四,客户端与服务器首次通信时要完成公钥协商,生成对称密钥,此后都使用对称密钥,对称密钥不会在网络中传输。所以黑客只有这一次机会。
如何攻破?其实很简单,黑客只需要在传输公钥时进行调包即可,如下:
黑客为了不被发现,并且为了让客户端与服务器能正常通信,窃取到密钥x后他会再使用密钥s进行加密发送给服务器。黑客悄无声息的拿到了密钥,没人能察觉。
既然方案4能被攻破,那么方案1,2,3就更不用说了,不攻自破。
主要问题:client无法辨别公钥是否合法,它只管一个劲的接收。
接下来对方案四进行改进,主要解决如何让client得知自己收到的“公钥”是否合法的问题。
2.数据签名
client判断“公钥”是否合法实际上就是判断数据是否被篡改过,不知道大家是否熟悉数据篡改这个词。上文所讲的数据指纹就是来验证数据是否被篡改的,已经做好了铺垫。
- 数据指纹:散列函数对数据进行处理生成的散列值。
- 签名:对数据指纹进行加密。
假设签名者:公钥Q,私钥Q'。这里暂且不考虑签名者是谁,要注意的是这里的公钥和私钥是单独新引入的,不要与客户端和服务器的密钥混淆。
最后把原始数据和签名拼在一起。发给客户端。
- 客户端拿到数据和签名。
- 用公钥Q对签名解密拿到数据指纹。
- 把数据用相同的散列函数生成数据指纹。
- 把两个数据指纹进行对比,判断数据是否被修改。
公钥Q所以人都知道,是彻底公开的,内置在客户端中。而公钥Q'是受严格保护的签名者持有。这是一种权利,其他人只认Q,对签名者绝对的信任。
现在模拟一下黑客攻击:
数据签名是传输在网络中的,黑客获取到数据签名后如果对数据篡改,客户端能校验出来。那么黑客把整个签名改了呢?即把篡改的数据重新生成签名。
不好意思客户端只认Q,用自己内置的公钥Q去解密。而黑客并不知道Q',无法生成对应的签名。
签名者称为CA机构,CA机构是互联网信任体系的基石,通过签发和管理数字证书,确保网络实体(如网站、设备)的身份可信和通信安全。
3.CA机构
此后在密钥协商时client得到的不仅仅是一个签名,而是一个server的证书。而证书是由开发者向CA机构申请得到的。
除了签名,证书内还包含了公钥,域名等明文信息。如下:
- 签名:如上图第一行,对明文数据做哈希散列,然后进行加密。
- 明文信息:数据。
- 证书本质:明文数据+签名
证书就如身份证, 证明服务端公钥的权威性。
数字证书保证了公钥合法性,浏览器(客户端),一般都要内置可信的CA机构或着授权的子机构的公钥。
六、最优加密方案
方案五:非对称+对称+证书验证
- 建立https服务器,先向CA机构申请证书。CA机构签发证书。
- 服务上线。
- client发起请求,server返回证书,client验证公钥合法性。
- 公钥可信任,形成对称密钥。
- 双方使用对称密钥通信。
CSR在线生成工具
实际上签名时不进行数据摘要,直接对数据加密也是可行的。为什么不直接加密, 而是要先 hash 形成摘要?
- 缩⼩签名密文的⻓度,加快数字签名的验证签名的运算速度。
总结:
HTTPS 工作过程中涉及密钥有三组:
- 第一组(非对称加密):用于校验证书是否被篡改。 服务器持有私钥(私钥在形成 CSR 文件与申请证书时获得), 客户端持有公钥(操作系统包含了可信任的 CA 认证机构有哪些,同时持有对应的公钥)。服务器在客户端请求时, 返回携带签名的证书,客户端通过这个公钥进行证书验证,保证证书的合法性, 进一步保证证书中携带的服务端公钥权威性。
- 第⼆组(非对称加密):用于协商生成对称加密的密钥。 客户端用收到的 CA 证书中的公钥(是可被信任的)给随机生成的对称加密的密钥加密,传输给服务器,服务器通过私钥解密获取到对称加密密钥。
- 第三组(对称加密):客户端和服务器后续传输的数据都通过这个对称密钥加密解密。
非常感谢您能耐心读完这篇文章。倘若您从中有所收获,还望多多支持呀!
相关文章:
从明文裸奔到密钥长城:HTTPS加密全链路攻防与CA信任锚点构建
前言:本文将从HTTP的隐患出发,深入剖析HTTPS如何通过加密算法、数字证书与信任链机制重塑网络通信的安全边界。我们将探讨协议的证书颁发机构(CA)的信任逻辑,以及HTTPS在性能与安全之间的平衡艺术。将帮助您更从容地应…...
C# WPF 颜色拾取器
x:Name=Color Picker 语言:C# WPF 下载:https://download.csdn.net/download/polloo2012/90780640 主界面 颜色库 关于我们 颜色拾取器是一种能够帮助用户获取颜色信息,并进行颜色选择、识别和调整的工具,以下将从其常见类型、使用场景及部分软件工具这几个维度展开介绍…...
MySQL关于锁的面试题
目录 1.了解过 MySQL 死锁问题吗? 2.什么是线程死锁?死锁相关面试题 2.1 什么是死锁: 2.2 形成死锁的四个必要条件是什么? 2.3 如何避免线程死锁? 3. MySQL 怎么排查死锁问题? 4.Java线上死锁问题如…...
亚远景-ASPICE vs ISO 21434:汽车软件开发标准的深度对比
ASPICE(Automotive SPICE)和ISO 21434是汽车软件开发领域的两大核心标准,分别聚焦于过程质量与网络安全。以下从核心目标、覆盖范围、实施重点、协同关系及行业价值五个维度进行深度对比分析: 一、核心目标对比 ASPICE࿱…...
第5讲、Transformer 编码器(Encoder)处理过程详解
🔍 Transformer 编码器(Encoder)处理过程详解 Transformer Encoder 是一个由 N 层(一般为 6 层)堆叠而成的模块结构。每一层的本质是两个核心子模块: 多头自注意力(Multi-Head Self-Attention…...
Flutter Drawer 详解
目录 一、引言 二、Drawer 的基本用法 三、主要属性 四、常见问题与解决方案 4.1 手势冲突处理 4.2 多级导航管理 4.3 响应式布局适配 五、最佳实践建议 5.1 性能优化 5.2 无障碍支持 5.3 跨平台适配 六、结论 相关推荐 一、引言 在移动应用开发中,侧边…...
游戏引擎学习第263天:添加调试帧滑块
运行游戏,开始今天的开发工作。 我们继续游戏代码基础上进行重构,目标是实现更多的性能分析界面功能,尤其是调试用的用户界面。 目前运行游戏并打开性能分析窗口后,发现界面功能上还有不少缺陷。现在的界面可以向下钻取查看具体…...
Hadoop客户端环境准备
hadoop集群我们配置好了,要与它进行交互,我们还需要准备hadoop的客户端。要分成两步:下载hadoop包、配置环境变量。 1. 找到资料包路径下的Windows依赖文件夹,拷贝hadoop-3.1.0到非中文路径(比如d:\hadoop-3.1.0&#…...
当“信任”遇上“安全”:如何用Curtain Logtrace记录文件操作活动 守护团队与数据的双重底线?
你是否也有过这样的担忧? 团队成员在处理敏感数据时是否遵守了公司规范? 某份被篡改或外泄的文档,到底发生了什么? 为了数据安全而频繁加密、限制下载,却反过来打击了员工的工作积极性…… 如何在不伤害团队信任的…...
如何进行室内VR全景拍摄?
如何进行室内VR全景拍摄? 室内VR全景拍摄作为先进的视觉技术,能够为用户提供沉浸式的空间体验。本文介绍如何进行室内VR全景拍摄,并阐述众趣科技在这一领域的技术支持和服务优势。 室内VR全景拍摄基础 1. 室内VR全景拍摄概述 室内VR全景拍…...
一文走进GpuGeek | conda常用命令
conda 常用命令 查看conda版本 conda --version 查看conda信息 conda info 更新conda自身到最新版本,同时也会更新其它包 conda update conda conda更新指定包,这里更新通过conda安装的zlib包 conda update zlib 列出所有虚拟环境 conda env li…...
Consumer Group的作用是什么?Rebalance的触发条件有哪些? (实现消费者负载均衡;消费者加入/离开、订阅Topic变化等)
好的,我现在需要回答用户关于Kafka Consumer Group和Rebalance的问题。首先,用户问的是Consumer Group的作用以及Rebalance的触发条件。根据之前的对话历史,用户已经了解了Kafka的基本组件、消息保留策略、顺序性保证等,现在的问题…...
【计算机视觉】OpenCV实战项目:Long-Exposure:基于深度学习的长时间曝光合成技术
Long-Exposure:基于深度学习的长时间曝光合成技术 项目概述与技术背景项目核心功能技术原理 环境配置与安装硬件要求建议详细安装步骤可选组件安装 实战应用指南1. 基础使用:视频转长曝光2. 高级模式:自定义光轨合成3. 批量处理模式 技术实现…...
CentOS 7 安装OpenJDK 17 JRE
CentOS 7 自带的java 版本为:java version "1.8.0_311", 有些软件的运行需要更高的java版本。CentOS 7 自带的默认仓库里 没有 OpenJDK 17,但是 Adoptium 项目(前身 AdoptOpenJDK)提供了稳定的 OpenJDK 17 版…...
C++从入门到实战(十三)C++函数模板与类模板初阶讲解
C从入门到实战(十三)C函数模板与类模板初阶讲解 前言一、为什么需要模板1. 函数重载的问题2. 泛型编程和模板的作用 二、函数模板2.1 函数模板格式2.2 函数模板的原理2.3 函数模板的实例化(1)隐式实例化:(2…...
CentOS服务器中如何解决内存泄漏问题?
内存泄漏并不是“爆炸性内存飙升”,而是程序申请了内存但没有释放,造成系统可用内存逐渐减少,直到用光。 表现形式: 系统空闲内存越来越少;swap频繁被占用;某些服务响应变慢甚至挂掉;重启服务后内存才释放。 内存泄漏的根源在哪…...
【Java项目脚手架系列】第三篇:Spring MVC基础项目脚手架
【Java项目脚手架系列】第三篇:Spring MVC基础项目脚手架 前言 在前面的文章中,我们介绍了Maven基础项目脚手架和JavaWeb基础项目脚手架。今天,我们将介绍Spring MVC项目脚手架,这是一个用于快速搭建Web应用的框架。 什么是Spr…...
chili3d调试笔记12 deepwiki viewport svg雪碧图 camera three.ts
xiangechen/chili3d | DeepWiki viewport阅读 🧠deep 我要把模型投影成dxf导出有什么办法 引用lookat 截图是如何实现的 明天接着搞 ---------------------------------------------------------------- 截图没什么用 搞个工程图模块可能才行 一个文件一行 忘…...
tinyrenderer笔记(Shader)
tinyrenderer个人代码仓库:tinyrenderer个人练习代码 前言 现在我们将所有的渲染代码都放在了 main.cpp 中,然而在 OpenGL 渲染管线中,渲染的核心逻辑是位于 shader 中的,下面是 OpenGL 的渲染管线: 蓝色是我们可以自…...
【奔跑吧!Linux 内核(第二版)】第1章:Linux 系统基础知识
笨叔 陈悦. 奔跑吧 Linux 内核(第2版) [M]. 北京: 人民邮电出版社, 2020. 文章目录 Linux 系统的发展历史Linux 发行版Red Hat LinuxDebian LinuxSuSE Linux优麒麟 Linux Linux 内核介绍宏内核和微内核Linux 内核概貌 Linux 系统的发展历史 Linux 系统诞…...
Spring + Shiro 整合的核心要点及详细实现说明
在 Spring 项目中集成 Apache Shiro 可以实现轻量级的安全控制(认证、授权、会话管理等)。以下是 Spring Shiro 整合的核心要点及详细实现说明: 一、Spring 与 Shiro 整合的核心组件 组件作用ShiroFilterFactoryBean创建 Shiro 过…...
已经写好论文的AI率降低
视频演示 https://www.bilibili.com/video/BV1v4VpzgEdc 提示词 你是我专门请来的“降维写作助手”,专门干一件事:把 AI 写得太“像 AI”的文字改得更像人写的。我们主要是处理论文、创作类内容,目标就是:不让检测工具一眼识破…...
AI教你学VUE——Deepseek版
一、基础阶段:打好Web开发基础 HTML/CSS基础 学习HTML标签语义化、CSS布局(Flex/Grid)、响应式设计(媒体查询、REM/VW单位)。资源推荐: MDN Web文档(免费):HTML | CSS实战…...
卷积神经网络基础(五)
6.3 Softmax-with-Loss 层 我们最后介绍输出层的softmax函数,之前我们知道softmax函数会将输入值正规化之后再输出。在手写数字识别的例子中,softmax层的输出如下: 输入图像通过Affi ne层和ReLU层进行转换,10个输入通过Softmax层…...
Go语言——string、数组、切片以及map
一、string、数组、切片代码 package mainimport "fmt"// 定义结构体 type student struct {id intname stringage intscore float32 }func main() {// 使用var声明切片var slice1 []intslice1 append(slice1, 1)slice1 append(slice1, 2)slice1 append(sl…...
线性回归有截距
In [ ]: ∑ i 1 m ( y i − x i T w ) 2 \sum _{i1}^{m}(y_{i}-x_{i}^{T}w)^{2} i1∑m(yi−xiTw)2 w ^ ( X T X ) − 1 X T y \hat {w}(X^{T}X)^{-1}X^{T}y w^(XTX)−1XTy In [ ]: 1 #如果有截距,求解时,需要梯度下降法求解w 和b …...
【基础】Python包管理工具uv使用全教程
一、uv简介 uv 是由 Astral(前身为 Basis)团队开发的 Python 包安装器和解析器,完全使用 Rust 语言编写。与传统 Python 工具不同,uv 将多个工具的功能整合到一个高性能的解决方案中,旨在提供更现代、更高效的 Python…...
事务(transaction)-上
事务概述 食物是一个最小的工作单元。在数据库当中,事务表示一件完整的事儿。一个业务的完成可能需要多条DML语句共同配合才能完成,例如转账业务,需要执行两条DML语句,先更新张三账户的余额,再更新李四账户的余额&…...
Python训练打卡Day17
无监督算法中的聚类 知识点 聚类的指标聚类常见算法:kmeans聚类、dbscan聚类、层次聚类三种算法对应的流程 实际在论文中聚类的策略不一定是针对所有特征,可以针对其中几个可以解释的特征进行聚类,得到聚类后的类别,这样后续进行解…...
【爬虫】码上爬第6题-倚天剑
堆栈入手: 全部复制的话,注意修改一些必要在地方: 通过s函数来获取请求头的加密参数 通过xxxxoooo来获取解密后的数据 js代码关键点: python代码我推荐使用这个网站: Convert curl commands to code 根据生成的代码…...
自定义SpringBoot Starter-笔记
SpringBoot Starter的介绍参考: Spring Boot Starter简介-笔记-CSDN博客。这里介绍如何自定义一个springBoot Starter。 1. 项目结构 创建一个 Maven 项目,结构如下: custom-spring-boot-starter-demo/ ├── custom-hello-jdk/ # jdk模…...
一周学会Pandas2 Python数据处理与分析-Pandas2数据类型转换操作
锋哥原创的Pandas2 Python数据处理与分析 视频教程: 2025版 Pandas2 Python数据处理与分析 视频教程(无废话版) 玩命更新中~_哔哩哔哩_bilibili Pandas 提供了灵活的方法来处理数据类型转换,以下是常见操作及代码示例: 1. 查看数据类型 …...
Java中常见的问题
1. SSO中的Cookie/Token生成与安全传递 生成Cookie/Token: Cookie:服务器通过Set-Cookie响应头生成,包含用户ID、过期时间等,需设置HttpOnly和Secure属性防止XSS和中间人攻击。Token(如JWT):使…...
【JEECG】BasicTable内嵌Table表格错位
功能说明: 解决代码生成后,本地内嵌Table表格样式错位。 优化前: 优化后: 解决方法: 对应的List.vue页面增加css样式调整。 <style lang"less" scoped>//内嵌表格margin边距覆盖:deep(.ant-table-…...
人工智能 计算智能模糊逻辑讲解
引言 在计算智能(Computational Intelligence)领域,模糊逻辑(Fuzzy Logic)作为一种处理不确定性与模糊性信息的数学工具,自 1965 年由洛夫特扎德(Lotfi Zadeh)提出以来,…...
基于SSM实现的健身房系统功能实现一
一、前言介绍: 1.1 项目摘要 随着社会的快速发展和人们健康意识的不断提升,健身行业也在迅速扩展。越来越多的人加入到健身行列,健身房的数量也在不断增加。这种趋势使得健身房的管理变得越来越复杂,传统的手工或部分自动化的管…...
spring详解-循环依赖的解决
Spring循环依赖 重点提示: 本文都快写完了,发现“丈夫” 的英文是husband… 在“②有AOP循环依赖” 改过来了,前面用到的位置太多了就没改。我是说怎么idea的hansband英文下面怎么有波浪线。各位能够理解意思就行,英文拼写不要过…...
【大模型面试每日一题】Day 10:混合精度训练如何加速大模型训练?可能出现什么问题?如何解决?
【大模型面试每日一题】Day 10:混合精度训练如何加速大模型训练?可能出现什么问题?如何解决? 📌 题目重现 🌟🌟 面试官:混合精度训练如何加速大模型训练?可能出现什么问…...
[学习]RTKLib详解:rtkcmn.c与rtkpos.c
文章目录 Part A、Rrtkcmn.c一、总体功能二、关键API列表三、核心算法实现四、函数功能与参数说明1. uniqnav2. lsq3. filter4. matmul5. satazel6. ionmapf7. geodist8. timeadd9. dgetrf_ / dgetri_(LAPACK接口) 五、工作流程说明4.1 模块在RTKLib中的…...
cookie/session的关系
什么是cookie,session 我们平时去医院看病时,从进医院那一刻,我们最开始要做的就是挂号(需要我们填写表格,记录一些核心信息,医生会把这些信息录入电脑,并给我办一个就诊卡,卡里面只…...
Linux(十四)进程间通信(IPC),管道
一、进程间通信 (一)系统介绍进程间通信 进程间通信(IPC)介绍 小编插入的这篇文章详细介绍了进程间通信的一些内容,大家可以一起学习。 (二)进程间通信的方法 1、管道 2、信号量 3、共享…...
Nmap 工具的详细使用教程
Nmap(Network Mapper)是一款开源且功能强大的网络扫描和安全审计工具。它被广泛用于网络发现、端口扫描、操作系统检测、服务版本探测以及漏洞扫描等。 官方链接: Nmap 官方网站: https://nmap.org/Nmap 官方文档 (英文): https://nmap.org/book/man.h…...
Vue 自定义指令输入校验过滤
/*** 过滤字符串* param {*} filterCharRule* param {*} newVal* returns*/ function filterCharForValue(filterCharRule, newVal) {if(!filterCharRule || !newVal) returnconst isArray filterCharRule instanceof Arrayconst isRegExp filterCharRule instanceof RegExpi…...
OpenGl实战笔记(2)基于qt5.15.2+mingw64+opengl实现纹理贴图
一、作用原理 1、作用:将一张图片(纹理)映射到几何体表面,提升视觉真实感,不增加几何复杂度。 2、原理:加载图片为纹理 → 上传到 GPU;为顶点设置纹理坐标(如 0~1 范围)&…...
tinyrenderer笔记(透视矫正)
tinyrenderer个人代码仓库:tinyrenderer个人练习代码 引言 还要从上一节知识说起,在上一节中我为了调试代码,换了一个很简单的正方形 obj 模型,配上纹理贴图与法线贴图进行渲染,得了下面的结果: what&…...
c++类【发展】
类的静态成员(用static声明的成员),在声明之外用例单独的语句进行初始化,初始化时,不再需要用static进行限定。在方法文件中初始化。以防重复。 特殊成员函数 复制构造函数: 当使用一个对象来初始化另一个对象…...
玛格丽特鸡尾酒评鉴,玛格丽特酒的寓意和象征
玛格丽特鸡尾酒会有独特的风味,而且还会有一个比较吸引人的背后故事。在目前的鸡尾酒界就会占据着很重要的地位,不仅是味蕾的盛宴,同样也会拥有深厚的情感。 玛格丽特由龙舌兰酒、柠檬汁和君度橙酒调制而成,将三者巧妙地结合在一起…...
关于Java多态简单讲解
面向对象程序设计有三大特征,分别是封装,继承和多态。 这三大特性相辅相成,可以使程序员更容易用编程语言描述现实对象。 其中多态 多态是方法的多态,是通过子类通过对父类的重写,实现不同子类对同一方法有不同的实现…...
SecureCrt设置显示区域横列数
1. Logical rows //逻辑行调显示区域高度的 一般超过50就全屏了 2. Logical columns //逻辑列调显示区域宽度的 3. Scrollback buffer //缓冲区大小...
【PhysUnits】1 SI Prefixes 实现解析(prefix.rs)
一、源码 // prefix.rs //! SI Prefixes (国际单位制词头) //! //! 提供所有标准SI词头用于单位转换,仅处理10的幂次 //! //! Provides all standard SI prefixes for unit conversion, handling only powers of 10.use typenum::{Z0, P1, P2, P3, P6, P9, P12, …...