SSL/TLS 和 SSH 区别

news2025/3/19 13:21:21

背景知识

对称加密算法

定义:对称加密算法是指加密和解密使用同一个密钥的加密方式。
加密过程:发送方用密钥加密数据,接收方用相同的密钥解密数据。
优点:对称加密算法通常比非对称加密算法更高效,适合处理大量数据。
缺点:在通信双方之间安全地共享密钥是一个挑战。 如果密钥泄露,整个通信的安全性将被破坏。
常见算法
AES(Advanced Encryption Standard): 高效且广泛
DES(Data Encryption Standard): 较老,已被 AES 取代
3DES(Triple DES): DES 的改进版本,安全性更高但效率较低
RC4、Blowfish、Twofish: 其他常见的对称加密算法
应用场景
文件加密(如 ZIP 文件加密)
数据库加密
HTTPS 中的会话密钥加密

非对称加密算法

定义:非对称加密算法是指加密和解密使用不同密钥的加密方式。
每个用户拥有一对密钥:
公钥(Public Key):用于加密数据,可以公开。表示谁都可以加密给我发信息。
私钥(Private Key):用于解密数据,必须保密。表示发给我的加密信息只有我自己才能解密查看。
优点:公钥可以公开分发,无需担心密钥泄露问题。不会影响私钥的安全性。
缺点:非对称加密算法计算复杂度较高,不适合处理大量数据。
常见算法
RSA(Rivest-Shamir-Adleman): 最常用的非对称加密算法,广泛应用于 SSL/TLS 和数字签名。
ECC(Elliptic Curve Cryptography): 基于椭圆曲线的加密算法,它提供与传统 RSA 或 DH 相同的安全性,但使用更短的密钥长度,从而提高计算效率和性能。,适用于资源受限的设备。
DSA(Digital Signature Algorithm): 主要用于数字签名。
ECDSA(Elliptic Curve Digital Signature Algorithm): ECC 的扩展,用于数字签名。
应用场景
数字证书(如 SSL/TLS 中的服务器证书)
密钥交换(如 RSA 或 ECDH 用于协商对称加密的会话密钥)
数字签名(验证数据的真实性和完整性)


数字证书

数字证书是一种电子文件,用于证明某个实体(如个人、组织或设备)的身份。它由可信的第三方机构(称为 CA,Certificate Authority)签发,并包含以下信息:
持有者的身份信息(如域名、公司名称等)。
持有者的公钥。
有效期限。
签发机构(CA)的签名。

作用:提供一种安全的方式将公钥分发给通信对方。

工作原理
1、用户向 CA 提交申请,提供身份信息和公钥。
2、CA 验证用户身份后,生成并签署数字证书。
3、用户将数字证书发送给通信对方。
4、对方通过验证证书中的 CA 签名来确认用户身份。

如何使用数字证书验证服务器身份?
客户端收到服务器的数字证书后,使用以下步骤验证服务器身份:
验证证书链:检查证书是否由受信任的 CA 签发。
验证证书有效性:检查证书是否在有效期内,且未被列入吊销列表(CRL)。
验证证书绑定:确认证书中的域名与服务器的实际域名匹配。
验证签名:使用 CA 的公钥验证数字证书的签名是否有效。


数字签名

定义: 签名者使用哈希算法对原始数据计算哈希值,用签名者的私钥对哈希值进行加密,生成数字签名

工作原理
1、签名者使用哈希函数生成数据的摘要(Hash 值)。
2、签名者用自己的私钥对摘要(Hash 值)进行加密,生成数字签名。
3、签名者将数据和签名一起发送给接收方。
4、接收方用签名者的公钥解密签名,得到摘要。
5、接收方重新计算数据的摘要并与解密后的摘要进行比较,如果一致,则验证通过。

摘要已经是是公开的,那为何还要引入数字签名呢?
仅发送摘要可以验证数据的完整性,但无法验证来源。通过私钥加密和公钥解密,可以验证来源验证,而且发送者不能否认自己发送了数据。

作用
保证数据的完整性:数据在传输过程中是否被篡改。
验证数据的真实性:数据是否由合法的发送者生成。
提供不可否认性:发送者是否能够否认自己发送了数据。

该用公钥加密数据,还是私钥加密数据?
非对称加密中 :目标是保护数据的 机密性(只有持有私钥的人才能解密)。 所以数据由公钥加密,私钥解密。
数字签名 :目标是验证数据的 来源可靠性完整性,而不是保护数据的机密性。任何人都可以用公钥验证签名。所以数据的哈希值由私钥加密(签名),公钥解密(验证)。

SSL/TLS

干啥的? :SSL(Secure Sockets Layer) 和 TLS(Transport Layer Security) 是一种用于在网络通信中提供安全性的协议。它们的主要目的是在客户端(如浏览器)和服务器之间建立加密连接,确保数据传输的安全性和隐私性

SSL 是由 Netscape 开发的一种早期的安全协议,TLS 是 SSL 的继任者,修复了 SSL 中的许多安全漏洞。提供了更安全和高效的通信机制。
SSL有多个版本(SSL 1.0、2.0、3.0),但因安全性问题,SSL 3.0 及以下版本已被废弃。
TLS版本包括 TLS 1.0、1.1、1.2 和 1.3。当前推荐使用 TLS 1.2 或更高版本,因为它们提供了更好的安全性。

SSL/TLS工作原理的核心步骤
握手阶段(Handshake):用于在客户端和服务器之间建立安全连接。
具体过程如下:
(1)客户端问候(ClientHello)
客户端向服务器发送一个 ClientHello 消息,包含以下信息:
支持的 SSL/TLS 版本(如 TLS 1.2 或 TLS 1.3)。
支持的加密套件列表(Cipher Suites),包括加密算法和哈希算法。
客户端随机数(Client Random),用于后续密钥生成。
可选的扩展字段(如支持的压缩方法、ALPN 协议等)。

(2)服务器问候(ServerHello)
服务器选择一个双方都支持的加密套件,并返回一个 ServerHello 消息,包含以下信息:
确定的 TLS 版本。
选定的加密套件。
随机数(Server Random),用于后续密钥生成。
可选的会话 ID(Session ID),用于会话恢复。

(3)服务器证书(Certificate)
参考 如何使用数字证书验证服务器身份

(4)密钥交换(Key Exchange)
用于在客户端和服务器之间协商一个共享密钥。该共享密钥随后被用来生成会话密钥,用于加密通信。
常用密钥交换算法

RSA 密钥交换
原理:客户端生成一个随机的预主密钥(Pre-Master Secret)。使用服务器的公钥(从证书中提取)加密预主密钥,并发送给服务器。服务器使用自己的私钥解密,获得预主密钥。
优点:实现简单,易于部署。
缺点:如果服务器私钥泄露,所有历史通信都可能被解密。

Diffie-Hellman 密钥交换(DH 、ECDH、ECDHE)
Diffie-Hellman 加密协议介绍 (DH,DHE,ECDHE)

(5)计算主密钥(Master Secret)
双方基于预主密钥、客户端随机数和服务器随机数,通过特定算法计算出主密钥(Master Secret),然后生成会话密钥(Session Keys)和 MAC 密钥会话密钥用于数据加密MAC 密钥 用于 完整性验证

主密钥计算的位置
客户端 和 服务器 各自独立完成主密钥(Master Secret)的计算。
如果不一致怎么办?
主密钥计算完成后,客户端和服务端会进一步使用主密钥派生出会话密钥(Session Keys),并用这些会话密钥加密后续的通信数据。如果主密钥不一致,生成的会话密钥会不同,加解密会出问题,从而检测到问题。
为什么不在一个地方计算?

安全性:如果主密钥只在一方计算,另一方需要通过网络接收主密钥,这会增加被窃听或篡改的风险。

(6)更改加密状态(ChangeCipherSpec)
客户端和服务器分别发送 ChangeCipherSpec 消息,是用来通知对方:“我已经准备好使用我们协商好的加密算法和密钥进行加密通信了。”

什么是 ChangeCipherSpec?
ChangeCipherSpec 消息本身非常简单,只包含一个字节的数据。其值固定为 0x01,表示“切换加密模式”的指令。
(1)客户端切换到加密模式:
客户端在完成主密钥计算后,生成会话密钥,随后,客户端发送 ChangeCipherSpec 消息给服务器,表示“我将开始使用加密通信”。
(2)服务器切换到加密模式:
服务器同样在完成主密钥计算后,生成会话密钥,随后,服务器发送 ChangeCipherSpec 消息给客户端,表示“我也将开始使用加密通信”。
(3)验证切换:
收到对方的 ChangeCipherSpec 消息后,接收方切换到加密通信模式。
如果一方没有收到对方的 ChangeCipherSpec 消息怎么办?
如果一方没有及时收到对方的 ChangeCipherSpec 消息,通常会有以下几种处理方式:
超时重传:如果一方在合理的时间内没有收到对方的 ChangeCipherSpec 消息,它可能会重新发送 ChangeCipherSpec 消息,或者触发握手超时机制,重新发起握手。
握手失败:如果多次重传后仍未收到对方的响应,握手将被视为失败,连接会被关闭。
(4)加密通信开始
从此刻起,所有后续通信消息都将使用协商好的加密算法和密钥进行加密和解密

(7)握手完成(Finished)
Finished 消息包含一个基于主密钥标签握手历史记录的哈希值,用于验证完整性。
Finished 消息是第一个使用协商好的加密算法会话密钥保护的消息。

具体流程
(1)客户端生成 Finished 消息
客户端在发送 ChangeCipherSpec 消息后,立即发送 Finished 消息。
(2)服务器生成 Finished 消息
服务器在收到客户端的 ChangeCipherSpec 消息后,并不会立即生成自己的 Finished 消息,而是需要先验证客户端的 Finished 消息。只有在验证成功后,服务器才会生成并发送自己的 Finished 消息。这种设计确保了握手过程的安全性和完整性。
(3)双方验证 Finished 消息
客户端验证服务器的 Finished 消息
1、客户端接收到服务器发送的 Finished 消息后,提取其中的 VerifyData。
2、客户端使用相同的 PRF 算法,结合以下输入重新计算 VerifyData:
主密钥(MasterSecret)。
标签(“server finished”)。
握手历史记录(HandshakeMessages)。
3、如果客户端计算出的 VerifyData 与接收到的 VerifyData 一致,则说明:
服务器使用的主密钥正确。
握手过程中所有消息未被篡改。
同样地,服务器验证客户端的 Finished 消息也如上步骤。如果任一方的验证失败,握手将终止,连接会被关闭。
(4)握手完成:
如果双方的 Finished 消息匹配,则握手成功,进入加密通信模式。
通常情况下,客户端会在收到服务器的 Finished 消息后,首先发送应用层数据。这是因为客户端通常是发起连接的一方(如浏览器访问网站),因此它需要先发送请求(如 HTTP 请求)。服务器在收到客户端的应用层数据后,解密并处理请求,然后返回响应数据。

加密通信阶段(Encrypted Communication Phase)
(1)对称加密
使用握手阶段生成的会话密钥(Session Key)对数据进行加密和解密。常见的对称加密算法包括 AES、ChaCha20 等。对称加密算法(如 AES)效率高,适合大规模数据传输。
(2)消息认证码(MAC)
每条消息都附带一个 MAC(Message Authentication Code),用于确保数据的完整性。
(3)重新协商(可选)
如果客户端和服务器希望在未来的连接中快速恢复会话,可以使用会话 ID 或会话票据(Session Ticket)机制。
会话恢复避免了重新执行完整的握手过程,从而提高了性能。


SSH

全称:Secure Shell Protocol(安全外壳协议)。

SSH 加密机制的核心步骤
1)建立连接
客户端与服务器通过 TCP 协议建立初始连接。双方交换 SSH 协议版本信息(如 SSH-2.0),确保双方使用相同的协议版本。

2)算法协商
客户端和服务器协商以下参数:
加密算法: 如 AES、ChaCha20 等。
密钥交换算法: 如 Diffie-Hellman(DH)、ECDH 等。
MAC 算法: 如 HMAC-SHA256 等。
压缩算法: 如 zlib 等。

3)密钥交换
使用协商好的密钥交换算法(如 Diffie-Hellman),双方生成一个共享秘钥(session key)。这个共享秘钥用于后续的对称加密通信

共享秘钥的生成过程
以下是共享秘密生成的具体流程(以 Diffie-Hellman 为例):
(1)客户端和服务器交换公钥
客户端生成自己的私钥和公钥,并将公钥发送给服务器。
服务器生成自己的私钥和公钥,并将公钥发送给客户端。
这里有啥特殊防护吗? 如何防止中间人攻击 在 Diffie-Hellman 密钥交换中,客户端和服务器交换公钥的阶段确实存在中间人攻击(MITM)的风险。为了防止中间人攻击,SSH 协议采用了多种防护机制来确保公钥交换的安全性。
(2)计算共享秘密
客户端用自己的私钥和服务器的公钥计算出共享秘密。
服务器用自己的私钥和客户端的公钥计算出相同的共享秘密。
如何验证共享秘密的一致性? 虽然 Diffie-Hellman 协议本身没有直接验证共享秘密的步骤,但可以通过以下方式间接验证其一致性:如果共享秘密不一致,则生成的 session key 也会不同,导致加密通信失败。
(3)派生 session key
共享秘密通常是一个大整数,不能直接用作对称加密的密钥。双方使用密钥派生函数(KDF,Key Derivation Function)从共享秘密中生成一个固定长度的 session key。派生的 session key 是对称加密算法使用的实际密钥

4)客户端验证服务器的身份
1、服务器向客户端发送自己的公钥证书(通常是基于 RSA 或 ECDSA 的公钥)。
2、客户端验证服务器的公钥是否可信(通常通过 CA 或本地信任存储)。
3、如果验证失败,连接将被终止。

5)客户端向服务器证明自己的身份
密码认证: 用户输入密码,服务器验证密码是否正确。
公钥认证:
1、服务器生成一段随机数据(挑战数据),并将其发送给客户端。
2、客户端收到挑战数据后,用自己的私钥对这段数据进行签名。
3、客户端将签名发送回服务器。
4、服务器用客户端的公钥(私钥保存在客户端,公钥上传到服务器,这就是我们平时配置的公钥)解密签名,得到原始的哈希值。服务器重新计算挑战数据的哈希值,并与解密后的哈希值进行比较。如果两者一致,则证明签名有效,客户端身份验证成功。如果不一致,则验证失败。

为什么需要挑战数据?
防止重放攻击:每次认证过程中的数据都是唯一的,攻击者无法通过重放旧的签名来通过认证。
验证私钥持有者:只有拥有对应私钥的客户端才能生成有效的签名,从而证明自己是合法用户。

其他方式: 如键盘交互认证、GSSAPI 认证等。

6)加密通信
客户端和服务器开始使用协商好的对称加密算法和共享的秘钥(session key)加密所有后续通信。
具体包括:
数据加密: 所有传输的数据都经过对称加密,确保机密性。
消息认证: 每条消息都附带 MAC(消息认证码),确保数据的完整性和防止篡改。
序列号: 每条消息都有唯一的序列号,防止重放攻击。

优点:
安全性高,适合私有数据的传输。
提供灵活的身份验证方式。
支持双向通信(既可读取也可写入)。

缺点:
配置较复杂(私钥保存在客户端,公钥上传到服务器)。
可能受防火墙限制(需要开放 SSH 端口,默认为 22)。

SSH使用场景
1、系统管理员可以通过 SSH 登录到远程服务器,执行各种管理任务。 主要因为:SSH确保在客户端与服务器之间传输的所有数据(包括登录凭据、命令和输出)都经过加密。即使网络环境不安全(如公共 Wi-Fi),也能保证通信的安全。
2、SSH 提供了基于其加密通道的文件传输协议(SFTP),可以安全地上传或下载文件。 主要因为:和1原因一致。
3、SSH 支持端口转发功能。 主要因为:SSH 协议本身提供了一个安全的加密通道,所有通过该通道传输的数据都会被加密。当使用端口转发时,SSH 将其他协议的流量(如 HTTP、SMTP)封装到其加密通道中进行传输。这种加密机制确保了转发的流量在传输过程中不会被窃听或篡改。

SSH 和 SSL 区别
SSH:提供加密通信通道,主要用于远程登录文件传输。如SFTP。
SSL/TLS:主要用于保护应用层协议(如HTTP等)的数据传输安全性。广泛应用于HTTPS、电子邮件(SMTP、IMAP、POP3)、文件传输(FTPS)等场景。

什么是命令行访问?
命令行访问是指用户通过终端或命令行界面与远程服务器进行交互。
SSH 如何实现安全的命令行访问?
SSH 自身的安全性
什么是加密通信通道?
加密通信通道是指在客户端和服务器之间建立一个专用的、加密的连接。所有通过该通道传输的数据都会被加密,防止被第三方窃听或篡改。


HTTP/HTTPS

全称
HyperText Transfer Protocol(超文本传输协议)
Hypertext Transfer Protocol Secure(超文本传输安全协议)。
特点:
基于 HTTP协议,并通过 SSL/TLS 加密通信内容。广泛用于浏览器服务器之间的通信。
优点:
安全性高,适合敏感数据的传输。
普遍支持,大多数防火墙允许 HTTPS 流量。
缺点:
性能略低于非加密协议(如 HTTP),因为需要进行加密和解密操作。

http发展历史


FTP/SFTP

全称
FTP:File Transfer Protocol(文件传输协议)。
SFTP:SSH File Transfer Protocol(基于 SSH 的文件传输协议)。

特点:
FTP 是一种专门用于文件传输的协议,支持上传和下载。用于公开或非敏感文件的传输。
SFTP 基于 SSH 协议,提供加密的文件传输功能。用于私有文件的安全传输。


Git 协议

全称: Git Protocol。
特点:
专为 Git 设计的自定义协议,轻量高效。不提供加密功能,通信内容以明文形式传输。主要用于只读访问,适合公开资源的克隆。
优点:
性能优越,传输效率高。
配置简单,无需额外的服务端配置。
缺点:
缺乏安全性,不适合传输敏感数据。
只支持只读操作,无法推送更改。

SMTP/IMAP/POP3

全称:
SMTP:Simple Mail Transfer Protocol(简单邮件传输协议)。
IMAP:Internet Message Access Protocol(互联网消息访问协议)。
POP3:Post Office Protocol version 3(邮局协议第 3 版)。
特点:
SMTP 用于发送电子邮件。
IMAP 和 POP3 用于接收电子邮件。
用途:
SMTP:邮件服务器之间的通信。
IMAP:支持多设备同步的邮件接收。
POP3:适合单设备邮件下载。
优点:
SMTP 广泛支持,兼容性好。
IMAP 提供更好的用户体验(支持同步)。
缺点:
SMTP 缺乏内置加密(通常结合 TLS 使用)。
POP3 不支持多设备同步。


WebSocket

全称: WebSocket Protocol。
特点:
提供全双工通信通道,允许客户端和服务器实时双向通信。
基于 TCP 协议,初始连接通过 HTTP 升级完成。
用途:
实时应用(如聊天、在线游戏、股票行情)。
优点:
实时性强。
减少了 HTTP 请求的开销。
缺点:
对服务器资源消耗较大。
需要额外的协议支持。


TCP/UDP

全称:
TCP:Transmission Control Protocol(传输控制协议)。
UDP:User Datagram Protocol(用户数据报协议)。
特点:
TCP 是面向连接的协议,提供可靠的数据传输。
UDP 是无连接的协议,传输速度快但不保证可靠性。
用途:
TCP:文件传输、网页浏览等需要可靠性的场景。
UDP:视频流、在线游戏等对速度要求高的场景。
优点:
TCP 提供可靠性。
UDP 传输效率高。
缺点:
TCP 开销较大。
UDP 不保证数据完整性。

其他常见协议

DNS:Domain Name System(域名系统),用于将域名解析为 IP 地址。
NFS:Network File System(网络文件系统),用于共享文件。
RDP:Remote Desktop Protocol(远程桌面协议),用于远程桌面访问。

IP

定义数据包的格式和寻址方式。


TCP/IP

全称: Transmission Control Protocol/Internet Protocol(传输控制协议/互联网协议)。
特点:
它是现代互联网的基础通信框架,定义了数据在网络中如何传输、路由和接收。
TCP/IP 协议栈: TCP/IP 并不是一个单一的协议,而是一个协议族,通常分为四层结构

层级名称功能描述常见协议/技术
1应用层提供用户与网络之间的接口,支持各种网络应用。HTTP, HTTPS, FTP, SMTP, DNS, SSH
2传输层负责端到端的可靠通信,提供数据传输的可靠性、流量控制和错误检测功能。TCP, UDP
3网络层负责数据包的路由和转发,提供逻辑寻址和路径选择功能。IP, ICMP, ARP, RARP
4链路层(网络接口层)负责物理网络上的数据帧传输,提供硬件地址和访问物理介质的功能。Ethernet, Wi-Fi, PPP, Bluetooth

Telnet

在没有安全保障的情况下,传统的命令行访问协议(如 Telnet)会以明文形式传输数据,包括用户名和密码。


本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2317813.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Vue生命周期_Vue生命周期钩子

一、生命周期介绍 每个 Vue 组件实例在创建时都需要经历一系列的初始化步骤,比如设置好数据侦听,编译模板,挂载实例到 DOM,以及在数据改变时更新 DOM。 在此过程中,它也会运行被称为生命周期钩子的函数,让…

数据库设计实验(4)—— 数据更新实验

一、目的与要求 掌握用SQL语句实现数据的插入、修改和删除。 二、实验准备 1. 建立一个商店的数据库store,记录顾客及其购物情况,由下面三个表组成: 商品(商品号,商品名,单价,商品类别&#x…

Apache DolphinScheduler:一个可视化大数据工作流调度平台

Apache DolphinScheduler(海豚调度)是一个分布式易扩展的可视化工作流任务调度开源系统,适用于企业级场景,提供了一个可视化操作任务、工作流和全生命周期数据处理过程的解决方案。 Apache DolphinScheduler 旨在解决复杂的大数据…

再学:call与delegatecall、call转账 Bank合约

目录 1.call与delegatecall 2.transfer && call 3.若想内部传递abi编码 4.Bank合约 1.call与delegatecall call:切换上下文 delegatecall:不切换上下文 delegatecall可以理解为 A在调用B这个集成在A的方法 可升级合约,常用del…

关于解决新版本spring项目请求测试接口返回406的问题

目录 一、问题产生 二、问题排查 (1)首先是打断点debug进行排查 (2)网上查找相关资料排查 (3)老项目测试 三、问题解决 一、问题产生 使用Apifox对后端发送请求进行接口测试时返回状态码406&#xff0…

linux入侵排查_应急响应

1.实验目标 掌握linux系统中信息收集的方法 掌握linux系统中持久化操作方法及排查方式 掌握linux系统入侵排查思路 2.实验步骤 1.统计攻击者爆破次数 2.排查攻击者第一次使用恶意用户登录的时间 3.检查sudoer文件 4.排查计划任务 5.排查计划任务 6.排查恶意服务 7.排查…

AI视频生成产品体验分享(第2趴):Vidu、Hailuo、Runway、Pika谁更胜一筹?

hi,大家,继上次体验完可灵、即梦和pixverse,今天打算从产品经理的角度再研究下Vidu、Hailuo、Runway、Pika这几款产品!欢迎加入讨论! 一、产品简介 1. Vidu:国产自研的「一致性标杆」 📌官网…

R语言高效数据处理-自定义格式EXCEL数据输出

注:以下代码均为实际数据处理中的笔记摘录,所以很零散, 将就看吧,这一篇只是代表着我还在,所以可能用处不大,这一段时间都很煎熬! 在实际数据处理中为了提升效率,将Excel报表交付给…

基于srpingboot高校智慧校园教学管理服务平台的设计与实现(源码+文档+部署讲解)

技术范围:SpringBoot、Vue、SSM、HLMT、Jsp、PHP、Nodejs、Python、爬虫、数据可视化、小程序、安卓app、大数据、物联网、机器学习等设计与开发。 主要内容:免费功能设计、开题报告、任务书、中期检查PPT、系统功能实现、代码编写、论文编写和辅导、论…

【小白向】Word|Word怎么给公式标号、调整公式字体和花括号对齐

【小白向】Word|Word怎么给公式标号、调整公式字体和花括号对齐 我的版本:Word 2021 如需快速查看关键步骤,请直接阅读标红部分。 如果遇到无法调整的情况,可以直接下载我的示例文档进行参考:花括号和其他的示例公式.…

js逆向-下载某音乐

首先点击播放音乐,会拿到这样一个数据包 ​ 查看参数两个参数都是加密的 ​ 返回包里面有一个url,url拿到访问发现就是音频链接 ​ 访问直接下载下来 ​ 要逆向这两个参数采用xhr断点 ​ 这里加上路径的一部分 ​ 发现这些参数都是加密的 ​ 往下跟栈&am…

百度OCR调用记录

根据说明,调用测试 设置注册的API Key和Secret Key 调用类(官方文档中有) 这里改传入路径; 测试问题 1.{"error_code":110,"error_msg":"Access token invalid or no longer valid"} 查到说是 …

项目实战:基于瑞萨RA6M5构建多节点OTA升级-创建系统最小框架<三>

MCUBoot项目创建完成后,接下来我们需要搭建多节点OTA系统最小框架,再将系统分模块搭建逐层完善,直到实现最终完整系统。开始动手干吧! 目录 一、创建项目 ​二、配置FSP ​2.1 配置RS485属性 ​2.2 配置定时器0 2.3 创建初始化进程并配置属性 ​2.4 创建RS485进程并…

C/C++模版初阶

文章目录 C/C模版初阶泛型编程函数模版函数模版概念函数模版格式函数模版的原理函数模版的实例化模版参数的匹配原则 类模版类模版的定义格式类模版的实例化 结语 我们今天又见面了&#xff0c;给生活加点<font colorred>impetus&#xff01;&#xff01;开启今天的编程之…

Java集合的底层原理

目录 Collection Arraylist HashSet 介绍 哈希值 哈希表的基本概念 HashSet 的内部实现 HashMap 哈希碰撞的处理 总结 TreeSet 特点 红黑树的特性 红黑规则 TreeSet 的内部实现 1. 存储结构 2. 添加元素&#xff08;重点&#xff09; 3. 查找元素 4. 删除元…

SPI驱动(九) -- SPI_Master驱动程序

文章目录 参考资料&#xff1a;一、SPI传输概述二、SPI传输的两种方法2.1 旧方法2.2 新方法 参考资料&#xff1a; 参考资料&#xff1a; 参考内核源码: drivers\spi\spi.c 一、SPI传输概述 SPI控制器的作用是发起与它下面挂接的SPI设备之间的数据传输&#xff0c;那么控制…

Linux 进程的创建、终止、等待与程序替换函数 保姆级讲解

目录 一、 进程创建 fork函数 二、进程的终止&#xff1a; 1. 想明白&#xff1a;终止是在做什么&#xff1f; 2.进程终止的3种情况&#xff1f; a.退出码是什么&#xff1f;存在原因&#xff1f;为什么int main&#xff08;&#xff09;return 0? b.第三种进程终止的情况…

BSCAN2-1:load design

1. DFT Flow Using Tessent Shell Tessent BoundaryScan 具有一个基本的高层次流程顺序。下图展示了将 Tessent BoundaryScan 插入设计所需的高层次步骤顺序。图中的每个步骤都链接到有关可测试性设计&#xff08;DFT&#xff09;流程的更详细信息&#xff0c;包括示例。 Desi…

【css酷炫效果】纯CSS实现立体旋转立方体

【css酷炫效果】纯CSS实现立体旋转立方体 缘创作背景html结构css样式完整代码效果图 想直接拿走的老板&#xff0c;链接放在这里&#xff1a;https://download.csdn.net/download/u011561335/90492014 缘 创作随缘&#xff0c;不定时更新。 创作背景 刚看到csdn出活动了&am…

LLM中lora的梯度更新策略公式解析

LLM中lora的梯度更新策略公式解析 目录 LLM中lora的梯度更新策略公式解析区别如何使用LoRA代码中的参数更新方式二阶导数(如右侧公式关联的Fisher信息)的作用区别 定义与理论来源: 左公式 F ( w i ) = 1 n