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

网络学习(四)HTTPS中,SSL的单向认证与双向认证

目录

    • 一、什么是SSL?
      • 1.1 SSL 的主要功能
      • 1.2 SSL 的工作原理
      • 1.3 SSL 的核心组件
      • 1.4 SSL 的应用场景
      • 1.5 SSL 与 TLS 的区别
    • 二、SSL 单向认证、双向认证
      • 2.1 SSL 单向认证
      • 2.2 SSL 双向认证
      • 2.3 总结:SSL 单向认证和双向认证的区别

一、什么是SSL?

SSL(Secure Sockets Layer,安全套阶层) 是一种 用于在互联网上建立加密链接 的协议,旨在确保客户端(如浏览器)与服务器之间的通信安全。SSL 通过加密数据传输,防止敏感信息(如登录凭证、信用卡号等)被窃取或篡改。SSL的后续版本称为 TLS(Transport Layer Security,传输层安全),但人们通常仍习惯称之为 SSL。

在 OSI/RM 七层网络模型中,SSL/TLS 协议位于 传输层

当然,传输层除了 SSL/TLS 协议之外,还有很多常用的其他协议,如下所示:

完整的《常用网络协议神图》可以参考小编之前的文章:

  • 网络学习(一)OSI/RM七层网络模型和网络协议

1.1 SSL 的主要功能

  1. 加密通信

    SSL 通过加密算法(如AES、RSA等)对传输的数据进行加密,确保数据在传输过程中即使被截获也无法被解读。

  2. 身份验证

    SSL 的身份认证可以防止中间人攻击,有以下两种形式:

    • 单向认证: 通过数字证书,只验证服务器的身份。
    • 双向认证: 通过数字证书,同时验证客户端和服务器身份。

    (这两种身份验证形式会在后面进行详细描述。)

  3. 数据完整性

    SSL 通过消息摘要算法(如:SHA-256)确保数据在传输过程中未被篡改。

1.2 SSL 的工作原理

SSL/TLS 协议通过以下步骤建立安全连接:

  1. 客户端发起请求

    客户端(如浏览器)向服务器发起连接请求,并告知支持的 SSL/TLS 版本和加密算法。

  2. 服务器响应并发送证书

    服务器返回选择的 SSL/TLS 版本和加密算法,同时发送自己的数字证书(包含公钥)。

  3. 客户端验证证书

    客户端验证服务器证书的有效性(如是否由受信任的 CA 签发、是否过期等)。

  4. 密钥交换

    客户端生成一个对称密钥(会话密钥),用服务器的公钥加密后发送给服务器。

  5. 建立加密通信

    服务器用私钥解密获取对称密钥,双方使用该密钥加密后续通信。

1.3 SSL 的核心组件

  1. 数字证书

    由受信任的证书颁发机构(CA)签发,包含公钥、持有者信息和 CA 的数字签名。

  2. 加密算法

    • 对称加密(如AES):用于加密实际数据传输。
    • 非对称加密(如RSA):用于密钥交换和身份验证。
  3. 协议版本

    • SSL 1.0SSL 2.0SSL 3.0 -- 已淘汰
    • TLS 1.0TLS 1.1TLS 1.2TLS 1.3 -- 目前广泛使用

1.4 SSL 的应用场景

  1. 网站安全(HTTPS)

    SSL/TLS 是 HTTPS 协议的基础,用于保护网站与用户之间的通信。

  2. 电子邮件安全

    用于加密电子邮件传输(如SMTP、IMAP、POP3协议)。

  3. 虚拟专用网络(VPN)

    SSL VPN 用于远程用户安全访问企业内部资源。

  4. API 通信

    保护客户端与服务器之间的 API 调用。

1.5 SSL 与 TLS 的区别

  • SSLTLS 的前身,TLSSSL 的升级版本。
  • SSL 3.0 是 SSL 的最后一个版本,TLS 1.0 基于 SSL 3.0 改进而来。
  • TLS 在安全性、性能和扩展性上优于 SSL,目前广泛使用的是 TLS 1.2TLS 1.3

二、SSL 单向认证、双向认证

2.1 SSL 单向认证

SSL 单向认证只需要验证 服务端 的身份,无需验证客户端的身份。

SSL 单向认证的流程如下图所示:

文字过程描述如下:

  1. 客户端的浏览器向服务器传送 客户端 SSL协议的版本号加密算法的种类、产生的 随机数,以及其他服务器和客户端之间通讯所需要的各种信息。

  2. 服务器向客户端传送 SSL协议的版本号加密算法的种类随机数 以及其他相关信息,同时服务器还将向客户端传送自己的 证书

  3. 客户利用服务器传过来的信息验证服务器的合法性,服务器的合法性包括:

    • 证书是否 过期
    • 发行服务器证书的CA是否 可靠
    • 发行者证书的公钥能否正确解开服务器证书的 “发行者的数字签名”
    • 服务器证书上的 域名 是否和服务器的实际域名相匹配。
    • 如果合法性验证没有通过,通讯将断开;如果合法性验证通过,将继续进行第四步。
  4. 用户端随机产生一个用于后面通讯的"对称密码",然后用服务器的 公钥(服务器的公钥从步骤②中的服务器的证书中获得)对其加密,然后将加密后的 “预主密码” 传给服务器。

    也就是说利用 非对称加密算法A传输对称加密的密钥B,后续都用密钥B传输,提高效率。

  5. 如果服务器要求客户的身份认证(在握手过程中为可选),用户可以建立一个随机数然后对其进行数据签名,将这个含有签名的随机数和客户自己的 证书 以及加密过的 “预主密码” 一起传给服务器。

  6. 如果服务器要求客户的身份认证,服务器必须检验客户证书和签名随机数的合法性,具体的合法性验证过程包括:

    • 客户的证书使用日期是否 有效
    • 为客户提供证书的CA是否 可靠
    • 发行CA的公钥能否正确解开客户证书的发行CA的 数字签名
    • 检查客户的证书是否在 证书废止列表(CRL) 中。
    • 检验如果没有通过,通讯立刻中断;如果验证通过,服务器将用自己的 私钥 解开加密的 “预主密码”,然后执行一系列步骤来产生主通讯密码(客户端也将通过同样的方法产生相同的主通讯密码)。
  7. 服务器和客户端用相同的主密码,即 “通话密码”,一个 对称密钥 用于SSL协议的安全数据通讯的加解密通讯。同时在SSL通讯过程中还要完成数据通讯的 完整性,防止数据通讯中的任何变化。

  8. 客户端向服务器端发出信息,指明后面的数据通讯将使用的步骤⑦中的 主密码 为对称密钥,同时通知服务器客户端的握手过程结束。

  9. 服务器向客户端发出信息,指明后面的数据通讯将使用的步骤⑦中的 主密码 为对称密钥,同时通知客户端服务器端的握手过程结束。

  10. SSL的握手部分结束,SSL安全通道的数据通讯开始,客户和服务器开始使用相同的 对称密钥 进行数据通讯,同时进行通讯完整性的检验。

注意:SSL单向认证只要求站点部署了ssl证书就行,任何用户都可以去访问(IP被限制除外等),只是服务端提供了身份认证。

2.2 SSL 双向认证

SSL 双向认证需要验证 客户端服务端 的身份。

SSL 双向认证的流程如下图所示:

文字过程描述如下:

  1. 浏览器发送一个连接请求给安全服务器
  2. 服务器将自己的证书,以及同证书相关的信息发送给客户浏览器。
  3. 客户浏览器检查服务器送过来的证书 是否是由自己信赖的 CA中心(如沃通CA)所签发的。如果是,就继续执行协议;如果不是,客户浏览器就给客户一个警告消息:警告客户这个证书不是可以信赖的,询问客户是否需要继续。
  4. 接着 客户浏览器比较证书里的消息,例如 域名公钥,与服务器刚刚发送的相关消息是否一致,如果是一致的,客户浏览器认可这个服务器的合法身份。
  5. 服务器要求客户发送客户自己的证书。收到后,服务器验证客户的证书,如果没有通过验证,拒绝连接;如果通过验证,服务器获得用户的 公钥
  6. 客户浏览器告诉服务器自己所能够支持的通讯对称密码方案
  7. 服务器从客户发送过来的密码方案中,选择一种 加密程度最高的密码方案,用客户的 公钥 加过密后通知浏览器。
  8. 浏览器针对这个密码方案,选择一个 通话密钥,接着用服务器的 公钥 加过密后发送给服务器。
  9. 服务器接收到浏览器送过来的消息,用自己的 私钥 解密,获得 通话密钥
  10. 服务器、浏览器接下来的通讯都是用对称密码方案对称密钥 是加过密的。

2.3 总结:SSL 单向认证和双向认证的区别

  1. 证书要求
    • SSL 单向认证: 仅服务端需要持有证书,客户端无需证书。
    • SSL 双向认证:服务端和客户端均需持有证书。
  2. 认证过程
    • SSL 单向认证:客户端验证服务端证书的有效性,服务端无需验证客户端身份。服务端向客户端发送的密码方案是未加密的,但这并不影响整体通信的安全性。
    • SSL 双向认证:客户端和服务端互相验证对方证书的有效性,确保双方身份可信。
  3. 适用场景
    • SSL 单向认证:适用于大多数 Web 应用(如电商、社交平台等),用户数量庞大,通常无需在通信层对客户端进行身份验证。
    • SSL 双向认证:适用于对安全性要求较高的场景(如金融行业应用对接),需要对客户端进行严格的身份验证,以确保通信双方的可信性。
  4. 性能与复杂性
    • SSL 单向认证:实现简单,性能开销较低,适合高并发场景
    • SSL 双向认证:实现复杂,性能开销较高,适合对安全性要求极高的场景

整理完毕,完结撒花~ 🌻





参考地址:

1.SSL 单向认证和双向认证说明,https://cloud.tencent.com/document/product/214/54254

2.【ssl认证、证书】SSL双向认证和SSL单向认证的区别(示意图),https://blog.csdn.net/m0_45406092/article/details/114638087

相关文章:

网络学习(四)HTTPS中,SSL的单向认证与双向认证

目录 一、什么是SSL?1.1 SSL 的主要功能1.2 SSL 的工作原理1.3 SSL 的核心组件1.4 SSL 的应用场景1.5 SSL 与 TLS 的区别 二、SSL 单向认证、双向认证2.1 SSL 单向认证2.2 SSL 双向认证2.3 总结:SSL 单向认证和双向认证的区别 一、什么是SSL?…...

分类任务和回归任务的区别

分类任务和回归任务是机器学习中两种常见的监督学习任务,尽管它们都属于预测性的分析,但它们的目标和应用场景存在显著的差异。 分类任务 定义:分类任务是指将输入样本映射到一个有限且离散的类别集合中的过程。目标是对数据进行分类&#…...

android接入rocketmq

一 前言 RocketMQ 作为一个功能强大的消息队列系统,不仅支持基本的消息发布与订阅,还提供了顺序消息、延时消息、事务消息等高级功能,适应了复杂的分布式系统需求。其高可用性架构、多副本机制、完善的运维管理工具,以及安全控制…...

V4L2框架基础

一、V4L2视频设备驱动基础 1.V4L2是专门为Linux设备设计的整合视频框架(其主要核心在Linux内核,相当于Linux操作系统上层的视频源捕获驱动框架)。为上层访问系统底层的视频设备提供一个统一的标准接口。V4L2驱动框架能够支持多种类型&#x…...

【微知】如何通过mlxlink查看Mellanox网卡和光模块相关的信息?( mlxlink -d 01:00.0 -m)

背景 通过mlxlink可以查看Mellanox网卡的一些链路信息和硬件信息,也可以查看所插入的光模块的一些信息。 兄弟篇通过ethtool查看的方法:如何查看Mellanox网卡上的光模块的信息? 命令 mlxlink -d 01:00.0 -mman手册介绍: 如果…...

使用pytorch和opencv根据颜色相似性提取图像

需求:将下图中的花朵提取出来。 代码: import cv2 import torch import numpy as np import timedef get_similar_colors(image, color_list, threshold):# 将图像和颜色列表转换为torch张量device torch.device(cuda if torch.cuda.is_available() el…...

HTML label 标签使用

点击 <label> 标签通常会使与之关联的表单控件获得焦点或被激活。 通过正确使用 <label> 标签&#xff0c;可以使表单更加友好和易于使用&#xff0c;同时提高整体的可访问性。 基本用法 <label> 标签通过 for 属性与 id 为 username 的 <input> 元素…...

SQL注入的分类靶场实践

前言 SQL 注入&#xff08;SQL Injection&#xff09;是一种常见且危险的 Web 安全漏洞&#xff0c;攻击者通过在输入字段中插入恶意 SQL 代码&#xff0c;能够绕过应用程序的验证机制&#xff0c;直接操纵数据库。本文将介绍 SQL 注入的分类&#xff0c;并通过 Pikachu 靶场进…...

用matplotlib构建BI看板:Superset插件开发实战

目录 前言&#xff1a;当经典可视化库遇见BI航母 一、Superset插件架构精要 1.1 核心模块解析 1.2 插件通信机制 二、开发环境准备 2.1 依赖矩阵 三、开发自定义可视化插件 3.1 插件脚手架 3.2 渲染引擎适配 四、Superset深度集成 4.1 控制面板配置 4.2 动态参数传递…...

【Linux】之【Bug】VMware 虚拟机开机 一直卡在黑屏左上角下划线闪烁界面

解决 参考&#xff1a; 解决Ubuntu20.04 开机黑屏光标闪烁进不去系统 Centos根目录100%解决思路 当前界面 ctrlaltf3-f6 暂时进入终端界面 df -h 查看发现根目录 磁盘空间已满 执行命令 查看当前目录占用内存明细 sudo du -h -x --max-depth1清理无用的大内存文件 或者安装…...

【练习】【链表】力扣热题100 19. 删除链表的倒数第 N 个结点

题目 删除链表的倒数第 N 个结点 给你一个链表&#xff0c;删除链表的倒数第 n 个结点&#xff0c;并且返回链表的头结点。 示例 1&#xff1a; 输入&#xff1a;head [1,2,3,4,5], n 2 输出&#xff1a;[1,2,3,5] 示例 2&#xff1a; 输入&#xff1a;head [1], n 1 输出&…...

SQL-labs13-16闯关记录

http://127.0.0.1/sqli-labs/less-13/ 基于POST单引号双注入变形 1&#xff0c;依然是一个登录框&#xff0c;POST型SQL注入 2&#xff0c;挂上burpsuite&#xff0c;然后抓取请求&#xff0c;构造请求判断漏洞类型和闭合条件 admin 发生了报错&#xff0c;根据提示闭合方式是(…...

【Linux】进程信号——信号保存和信号捕捉

文章目录 信号保存信号相关的概念信号是如何保存的呢&#xff1f;有关信号保存的系统调用sigprocmask信号的增删查改查看pending表验证接口 信号捕捉用户态与内核态信号捕捉流程 总结 信号保存 信号相关的概念 信号递达&#xff1a;指 操作系统 将一个信号&#xff08;Signal…...

任务9:交换机基础及配置

CSDN 原创主页&#xff1a;不羁https://blog.csdn.net/2303_76492156?typeblog 一、交换机基础 交换机的概念&#xff1a;交换机是一种网络设备&#xff0c;用于连接多台计算机或网络设备&#xff0c;实现数据包在局域网内的快速交换。交换机基于MAC地址来转发数据包&#x…...

【DFS/回溯算法】2016年蓝桥杯真题之路径之谜详解

目录&#xff1a; 1.题目描述&#xff1a; 输入格式 输出格式 2.题解&#xff1a; 3.详细c代码 1.题目描述&#xff1a; 小明冒充 X 星球的骑士&#xff0c;进入了一个奇怪的城堡。 城堡里边什么都没有&#xff0c;只有方形石头铺成的地面。 假设城堡地面是 nn 个方格。…...

深度学习R8周:RNN实现阿尔兹海默症(pytorch)

&#x1f368; 本文为&#x1f517;365天深度学习训练营中的学习记录博客&#x1f356; 原作者&#xff1a;K同学啊 数据集包含2149名患者的广泛健康信息&#xff0c;每名患者的ID范围从4751到6900不等。该数据集包括人口统计详细信息、生活方式因素、病史、临床测量、认知和功…...

字节跳动发布 Trae AI IDE!支持 DeepSeek R1 V3,AI 编程新时代来了!

3 月 3 日&#xff0c;字节跳动重磅发布国内首款 AI 原生集成开发环境&#xff08;AI IDE&#xff09;——Trae 国内版&#xff01; Trae 不只是一个传统的 IDE&#xff0c;它深度融合 AI&#xff0c;搭载 doubao-1.5-pro 大模型&#xff0c;同时支持DeepSeek R1 & V3&…...

智能合约安全指南 [特殊字符]️

智能合约安全指南 &#x1f6e1;️ 1. 安全基础 1.1 常见漏洞类型 重入攻击整数溢出权限控制缺陷随机数漏洞前后运行攻击签名重放 1.2 安全开发原则 最小权限原则检查-生效-交互模式状态机安全失败保护机制 2. 重入攻击防护 2.1 基本防护模式 contract ReentrancyGuarde…...

DeepSeek 全套资料pdf合集免费下载(持续更新)

有很多朋友都关注DeepSeek相关使用的教程资料&#xff0c;本站也一直持续分享DeepSeek 学习相关的pdf资料&#xff0c;由于比较零散&#xff0c;这篇文章主要就是做一个汇总&#xff0c;并且持续更新&#xff0c;让大家可以及时获取下载最新的相关DeepSeek的资料。 持续更新地…...

IDEA 接入 Deepseek

在本篇文章中&#xff0c;我们将详细介绍如何在 JetBrains IDEA 中使用 Continue 插件接入 DeepSeek&#xff0c;让你的 AI 编程助手更智能&#xff0c;提高开发效率。 一、前置准备 在开始之前&#xff0c;请确保你已经具备以下条件&#xff1a; 安装了 JetBrains IDEA&…...

将md格式转jupyter并运行

将md格式转jupyter并运行 有时候我们需要将这种文档以学习的形式记笔记到jupyter中&#xff08;任务&#xff09; 但是内容太多了&#xff0c;一个一个粘贴又不方便&#xff0c;怎么办呢&#xff1f; 发现直接粘贴到md中是带格式的&#xff01;&#xff01;&#xff01; 那…...

SOUI基于Zint生成EAN码

EAN码广泛应用与欧洲的零售业。包括EAN-2、EAN-5、EAN-8和EAN-12码。分别编码 2、5、7 或 12 位数字。此外&#xff0c;可以使用 字符将 EAN-2 和 EAN-5 附加符号添加到 EAN-8 和 EAN-13 符号中&#xff0c;就像 UPC 符号一样。 EAN-8校验码计算&#xff1a; 从左往右奇数位的…...

StarRocks-fe工程在Cursor中不能识别为Java项目

SR简介 StarRocks 是一款高性能分析型数据库&#xff0c;支持实时、多维度、高并发的数据分析。本指南旨在解决在使用 VSCode 或 Cursor 开发 StarRocks 后端项目时遇到的模块识别问题。 问题描述 使用 Cursor 或 VSCode 打开 StarRocks 的后端工程 fe 时&#xff0c;spark-…...

AI是否能真正理解人类情感?从语音助手到情感机器人

引言&#xff1a;AI与情感的交集 在过去的几十年里&#xff0c;人工智能&#xff08;AI&#xff09;的发展速度令人惊叹&#xff0c;从简单的语音识别到如今的深度学习和情感计算&#xff0c;AI已经深入到我们生活的方方面面。尤其是在语音助手和情感机器人领域&#xff0c;AI不…...

【Linux】【网络】UDP打洞-->不同子网下的客户端和服务器通信(成功版)

【Linux】【网络】UDP打洞–&#xff1e;不同子网下的客户端和服务器通信&#xff08;成功版&#xff09; 根据上个文章的分析 问题可能出现在代码逻辑上面 我这里重新查找资料怀疑&#xff1a; 1 NAT映射可能需要多次数据包的发送才能建立。 2 NAT映射保存时间太短&#xff…...

【微知】如何查看Mellanox网卡上的光模块的信息?(ethtool -m enp1s0f0 看型号、厂商、生产日期等)

背景 服务器上插入的光模块经常被忽略&#xff0c;往往这里是定位问题最根本的地方。如何通过命令查看&#xff1f; 命令 ethtool提供了-m参数&#xff0c;m是module-info的意思&#xff0c;他是从光模块的eeprom中读取数据。&#xff08;应该是用i2c协议读取的&#xff09;…...

图论基础算法: 二分图的判定(C++)

二分图的基本概念 什么是二分图? 二分图(Bipartite Graph)是指一个图的顶点集可以被分割为两个互不相交的子集 U U U 和 V V V, 并且图中的每一条边都连接 U U U 中的一个顶点和 V V V 中的一个顶点. 换句话说, 二分图中的顶点可以被分成两组, 组内的顶点之间没有边相连…...

AI赋能校园安全:科技助力预防与应对校园霸凌

校园本应是学生快乐学习、健康成长的地方&#xff0c;然而&#xff0c;校园霸凌却成为威胁学生身心健康的隐形“毒瘤”。近年来&#xff0c;随着人工智能&#xff08;AI&#xff09;技术的快速发展&#xff0c;AI在校园安全领域的应用逐渐成为解决校园霸凌问题的新突破口。通过…...

PyTorch系列教程:评估和推理模式下模型预测

使用PyTorch时&#xff0c;将模型从训练阶段过渡到推理阶段是至关重要的一步。在推理过程中&#xff0c;该模型用于对以前从未见过的新数据进行预测。这种转换的一个重要方面是使用推理模式&#xff0c;它通过禁用仅在训练期间需要的操作来帮助优化模型的性能。 理解推理模式 …...

Linux注册进程终止处理函数

atexit() 是一个标准库函数&#xff0c;用于注册在进程正常终止时要调用的函数。通过 atexit()&#xff0c;你可以确保在程序结束时自动执行一些清理工作&#xff0c;比如释放资源、保存状态等。 函数原型如下&#xff1a; #include <stdlib.h> int atexit(void (*func…...

Lumerical INTERCONNECT 中的自相位调制 (SPM)

一、自相位调制的数学介绍 A.非线性薛定谔方程&#xff08;NLSE&#xff09;&#xff1a; NLSE 是光学中的一个关键方程。它告诉我们光脉冲在具有非线性和色散特性的介质中的行为方式。该方程如下所示&#xff1a; i ∂A/∂z β2/2 ∂A/∂t γ|A|A 0 其中&#xff1a; - …...

DICOM服务中的C-STORE、 C-FIND、C-MOVE、C-GET、Worklist

DICOM服务说明 DICOM&#xff08;Digital Imaging and Communications in Medicine&#xff09;是一种用于处理、存储、打印和传输医学影像的标准。DICOM定义了多种服务类&#xff0c;其中C-STORE、C-FIND、C-MOVE和C-GET是与影像数据查询和检索相关的四个主要服务类&#xff…...

Python的pdf2image库将PDF文件转换为PNG图片

您可以使用Python的pdf2image库将PDF文件转换为PNG图片。以下是一个完整的示例&#xff0c;包含安装步骤、代码示例和注意事项。 安装依赖库 首先&#xff0c;您需要安装pdf2image库&#xff1a; pip install pdf2imagepdf2image依赖于poppler库来解析PDF文件。 Windows系统…...

在Blender中给SP分纹理组

在Blender中怎么分SP的纹理组/纹理集 其实纹理组就是材质 把同一组的材质分给同一组的模型 导入到sp里面自然就是同一个纹理组 把模型导入SP之后 就自动分好了...

import模块到另一个文件夹报错:ModuleNotFoundError: No module named xxx

1. 问题 打开项目文件夹my_code&#xff0c;将bb.py的函数或者类import到aa.py中&#xff0c;然后运行aa.py文件&#xff0c;可能会报错ModuleNotFoundError: No module named xxx。 ‪E:\Desktop\my_code ├── a │ ├── train.sh │ └── aa.py └── b└── b…...

[SystemVerilog]例化

SystemVerilog 的例化方式和Verilog 类似 如果信号输入输出name一致 abc abc_inst( .a(a)&#xff0c; .b(b), c(c) ); 使用SystemVerilog abc abc_inst( .a, .b, .c ); 或者 abc abc_inst( .* ); 在SystemVerilog中&#xff0c;可以简化例化方式。 可以使用…...

Java方法详解

Java方法详解 方法1.方法的概念(1).什么是方法(2).方法的定义(3).实参与形参的关系 2.方法重载(1).方法重载的概念 3.递归&#xff08;C语言详细讲过&#xff09; 方法 1.方法的概念 (1).什么是方法 方法类似于C语言中的函数&#xff0c;我们重在体会与理解&#xff0c;不必…...

springboot自动插入创建时间和更新时间到数据库

springboot自动插入创建时间和更新时间到数据库 1.添加TableField注解2.添加TimeMetaObjectHandler配置3.测试 1.添加TableField注解 /*** 创建时间*/TableField(fill FieldFill.INSERT) // 插入时生效private LocalDateTime createTime;/*** 修改时间*/TableField(fill Fiel…...

如何将JAR交由Systemctl管理?

AI越来越火了&#xff0c;我们想要不被淘汰就得主动拥抱。推荐一个人工智能学习网站&#xff0c;通俗易懂&#xff0c;风趣幽默&#xff0c;最重要的屌图甚多&#xff0c;忍不住分享一下给大家。点击跳转到网站 废话不多说&#xff0c;进入正题。下面开始说如何使用 systemctl…...

VMware Workstation Pro安装openKylin 2.0全流程指南

原文链接&#xff1a;VMware Workstation Pro安装openKylin 2.0全流程指南 Hello&#xff0c;大家好啊&#xff01;今天给大家带来一篇在VMware Workstation Pro 上安装 openKylin 2.0 SP1 的文章。openKylin 2.0 作为国产开源桌面操作系统&#xff0c;目前已经发布了最新版本&…...

网络安全检查漏洞内容回复 网络安全的漏洞

网络安全的核心目标是保障业务系统的可持续性和数据的安全性&#xff0c;而这两点的主要威胁来自于蠕虫的暴发、黑客的攻击、拒绝服务攻击、木马。蠕虫、黑客攻击问题都和漏洞紧密联系在一起&#xff0c;一旦有重大安全漏洞出现&#xff0c;整个互联网就会面临一次重大挑战。虽…...

数据仓库的特点

数据仓库的主要特点可以概括为&#xff1a;面向主题、集成性、非易失性、时变性、高性能和可扩展性、支持复杂查询和分析、分层架构以及数据质量管理。 1. 面向主题&#xff08;Subject-Oriented&#xff09; 数据仓库是面向主题的&#xff0c;而不是面向事务的。这意味着数据…...

02_NLP文本预处理之文本张量表示法

文本张量表示法 概念 将文本使用张量进行表示,一般将词汇表示为向量,称为词向量,再由各个词向量按顺序组成矩阵形成文本表示 例如: ["人生", "该", "如何", "起头"]># 每个词对应矩阵中的一个向量 [[1.32, 4,32, 0,32, 5.2],[3…...

青蛙跳杯子(BFS)

#include <iostream> #include <queue> #include <string> #include <unordered_set> using namespace std;int main() {string a, b;cin >> a >> b; int n a.size(); // 字符串长度int d[] {1, -1, -2, 2, -3, 3}; // 跳跃距离queue&…...

【前端基础】1、HTML概述(HTML基本结构)

一、网页组成 HTML&#xff1a;网页的内容CSS&#xff1a;网页的样式JavaScript&#xff1a;网页的功能 二、HTML概述 HTML&#xff1a;全称为超文本标记语言&#xff0c;是一种标记语言。 超文本&#xff1a;文本、声音、图片、视频、表格、链接标记&#xff1a;由许许多多…...

Arm64架构的Linux服务器安装jdk8

一、下载 JDK8 打开浏览器&#xff0c;访问 oracle官网找到适用于自己服务器的 arm64 架构的 JDK8 安装包。 二、安装 JDK8 将下载好的 JDK 压缩包上传到服务器上 解压 JDK 压缩包&#xff1a; tar -zxvf jdk-8uXXX-linux-arm64.tar.gz选择安装目录&#xff0c;我将 JDK 安装…...

深入探索Python机器学习算法:模型调优

深入探索Python机器学习算法&#xff1a;模型调优 文章目录 深入探索Python机器学习算法&#xff1a;模型调优模型调优1. 超参数搜索方法1.1 网格搜索&#xff08;Grid Search&#xff09;1.2 随机搜索&#xff08;Random Search&#xff09;1.3 贝叶斯优化&#xff08;Bayesia…...

【Linux】冯诺依曼体系结构-操作系统

一.冯诺依曼体系结构 我们所使用的计算机&#xff0c;如笔记本等都是按照冯诺依曼来设计的&#xff1a; 截止目前&#xff0c;我们所知道的计算机都是由一个一个的硬件组装起来的&#xff0c;这些硬件又由于功能的不同被分为了输入设备&#xff0c;输出设备&#xff0c;存储器…...

Linux第五讲----gcc与g++,makefile/make

1.代码编译 1.1预处理 我们通过vim编辑完文件之后&#xff0c;想看一下运行结果这时我们便可以试用gcc编译C语言&#xff0c;g编译c. 编译代码&#xff1a; 上述两种方法均可&#xff0c;code.c是我的c语言文件&#xff0c;mycode是我给编译后产生的二进制文件起的名&#x…...

FastGPT 源码:基于 LLM 实现 Rerank (含Prompt)

文章目录 基于 LLM 实现 Rerank函数定义预期输出实现说明使用建议完整 Prompt 基于 LLM 实现 Rerank 下边通过设计 Prompt 让 LLM 实现重排序的功能。 函数定义 class LLMReranker:def __init__(self, llm_client):self.llm llm_clientdef rerank(self, query: str, docume…...