国产OS上完整编译Qt5.15、搭建基本开发环境需要的库

news2025/2/26 7:26:41

近期有师弟问我国产OS安装Qt5.15编译老是不完整,不是没声音,就是没视频,或者没有xcb。通过QEMU模拟Arm64,闲来20几天摸索,完整编译了Qt5.15,并编译成功了我的SDR玩具taskBus。

taskBus inOS

1.主要结论:

  1. 该OS内核太老,5.4,gcc 9, Qt6.2以上的基本很难。还是退回 Qt 5.15 好一些。
  2. 想编译 5.15,先安装 5.12,这样可以凑齐很多包。

在编译过程中,还有一些做法,值得记录。

1.1 使用 recheck 不断凑齐缺失的包

首先 configure 的时候,会缺少很多包。安装相应的包后,要使用 -recheck 选项(Qt5有,Qt6没有)触发重新检查,才能生效。

./configure -xcb -prefix /usr/local/qt/5.15 -sql-psql -sql-mysql  -sql-sqlite -gstreamer 1.0 -sql-tds  -recheck

直到确保包check通过后,再运行1次不带 recheck的版本。否则,在随后 make install时会再次触发configure,导致重新编译。

1.2 解决时戳冲突导致的重新编译

在qemu虚拟化下,可能出现configure时的时间和make时的时间错位,导致重新编译。每次完整编译,意味着1天的开销。

如果确定其实所有的包已经编译好了,则完全可以通过touch重置所有时戳,同时解决 make 、sudo make install 导致的文件权属问题。

首先准备bash脚本 lstouch.sh 并赋予x属性。

#!/bin/bash
echo $1
chown user:user $1
touch -t 202502010102.03   $1

而后运行:

sudo find . | xargs -I {} -P 6 ./lstouch.sh {}

即可重置所有文件为1个时刻。由于make检查是否要重新编译,并不检查等于符号,Makefile的日期和obj的日期完全相同,则不会编译。

2. 附件:安装的包

我把history里曾经安装的包列举如下。感谢deepSeek,后两列是采用deepSeek生成的。
要注意的是,还有cups的不少dev包是用 dkpg 单独安装的,因为国产OS的默认mirror的dev版本和实际的工具版本不匹配,导致无法apt安装(也是醉了)。

包名用途官网
bison语法分析器生成器https://www.gnu.org/software/bison/
build-essential编译工具集合https://packages.debian.org/build-essential
clang-formatC++代码格式化工具https://clang.llvm.org/docs/ClangFormat.html
clang-tidyC++代码静态分析工具https://clang.llvm.org/extra/clang-tidy/
clang-toolsClang工具集合https://clang.llvm.org/
clazyQt/C++代码静态分析工具https://github.com/KDE/clazy
cmake跨平台构建工具https://cmake.org/
filezillaFTP客户端https://filezilla-project.org/
firebird3.0-serverFirebird数据库服务器https://firebirdsql.org/
firebird-devFirebird开发库https://firebirdsql.org/
flex词法分析器生成器https://github.com/westes/flex
flite1-dev语音合成开发库https://github.com/festvox/flite
freetds-devFreeTDS开发库https://www.freetds.org/
g++GNU C++编译器https://gcc.gnu.org/
gccGNU C编译器https://gcc.gnu.org/
gdbGNU调试器https://www.gnu.org/software/gdb/
geany轻量级IDEhttps://www.geany.org/
git分布式版本控制系统https://git-scm.com/
git-guiGit图形界面https://git-scm.com/
gitkGit提交历史查看器https://git-scm.com/
Gperf哈希函数生成器https://www.gnu.org/software/gperf/
gqrx-sdrSDR接收器软件https://gqrx.dk/
grass地理信息系统https://grass.osgeo.org/
grass-devGRASS GIS开发库https://grass.osgeo.org/
grass-guiGRASS GIS图形界面https://grass.osgeo.org/
gstreamer1.0-qt5GStreamer Qt5集成https://gstreamer.freedesktop.org/
htop交互式系统监视器https://htop.dev/
isag系统活动报告工具https://packages.debian.org/isag
lib3ds-dev3DS文件格式开发库https://github.com/lib3ds/lib3ds
libalsaplayer-devALSA音频播放开发库https://packages.debian.org/libalsaplayer-dev
libarchive-dev压缩文件开发库https://www.libarchive.org/
libasound2-devALSA声音开发库https://www.alsa-project.org/
libatspi2.0-dev辅助技术开发库https://developer.gnome.org/atspi/
libavcodec-devFFmpeg编解码开发库https://ffmpeg.org/
libavformat-devFFmpeg格式开发库https://ffmpeg.org/
libav-toolsFFmpeg多媒体工具https://ffmpeg.org/
libbluetooth-dev蓝牙开发库https://www.bluez.org/
libclang-10-devClang 10开发库https://clang.llvm.org/
libdbus-1-devD-Bus开发库https://www.freedesktop.org/wiki/Software/dbus/
libdbus-cpp-devD-Bus C++开发库https://github.com/dbus-cxx/dbus-cxx
libdrm-devDRM开发库https://dri.freedesktop.org/
libevent-dev事件通知开发库https://libevent.org/
libfftw3-dev快速傅里叶变换开发库https://www.fftw.org/
libfontconfig1-dev字体配置开发库https://www.freedesktop.org/wiki/Software/fontconfig/
libfreetype6-dev字体渲染开发库https://www.freetype.org/
libgdal-grassGDAL GRASS插件https://gdal.org/
libghc-double-conversion-devHaskell双精度转换开发库https://hackage.haskell.org/package/double-conversion
libgl1-mesa-devMesa OpenGL开发库https://www.mesa3d.org/
libglu1-mesa-devMesa GLU开发库https://www.mesa3d.org/
libgstreamer1.0-devGStreamer开发库https://gstreamer.freedesktop.org/
libgstreamermm-1.0-devGStreamer C++开发库https://gstreamer.freedesktop.org/
libharfbuzz-binHarfBuzz文本 shaping工具https://harfbuzz.github.io/
libharfbuzz-devHarfBuzz文本 shaping开发库https://harfbuzz.github.io/
libiconv-hook-dev字符编码转换开发库https://www.gnu.org/software/libiconv/
libicu-devUnicode开发库https://icu.unicode.org/
libicu-le-hb-devICU HarfBuzz开发库https://icu.unicode.org/
libiio-dev工业I/O开发库https://analogdevicesinc.github.io/libiio/
libinput-dev输入设备开发库https://www.freedesktop.org/wiki/Software/libinput/
libjson-perlJSON Perl模块https://metacpan.org/pod/JSON
libmd4c-devMarkdown解析开发库https://github.com/mity/md4c
libmysqlclient-devMySQL客户端开发库https://dev.mysql.com/
libnss3-devNSS开发库https://developer.mozilla.org/en-US/docs/Mozilla/Projects/NSS
libopenal-devOpenAL音频开发库https://openal.org/
libopusfile-devOpus音频文件开发库https://opus-codec.org/
libpcap-dev网络数据包捕获开发库https://www.tcpdump.org/
libpq-devPostgreSQL开发库https://www.postgresql.org/
libqt5bluetooth5Qt5蓝牙模块https://www.qt.io/
libqt5charts5-devQt5图表开发库https://www.qt.io/
libqt5datavisualization5-devQt5数据可视化开发库https://www.qt.io/
libqt5gamepad5-devQt5游戏手柄开发库https://www.qt.io/
libqt5gstreamer-devQt5 GStreamer开发库https://www.qt.io/
libqt5location5-pluginsQt5定位插件https://www.qt.io/
libqt5multimedia5-pluginsQt5多媒体插件https://www.qt.io/
libqt5networkauth5-devQt5网络认证开发库https://www.qt.io/
libqt5positioning5-pluginsQt5定位插件https://www.qt.io/
libqt5remoteobjects5-devQt5远程对象开发库https://www.qt.io/
libqt5sensors5-devQt5传感器开发库https://www.qt.io/
libqt5serialbus5-devQt5串行总线开发库https://www.qt.io/
libqt5serialbus5-pluginsQt5串行总线插件https://www.qt.io/
libqt5serialport5-devQt5串口开发库https://www.qt.io/
libqt5sql5-ibaseQt5 InterBase数据库驱动https://www.qt.io/
libqt5sql5-mysqlQt5 MySQL数据库驱动https://www.qt.io/
libqt5sql5-odbcQt5 ODBC数据库驱动https://www.qt.io/
libqt5sql5-psqlQt5 PostgreSQL数据库驱动https://www.qt.io/
libqt5sql5-tdsQt5 TDS数据库驱动https://www.qt.io/
libqt5svg5-devQt5 SVG开发库https://www.qt.io/
libqt5texttospeech5-devQt5文本转语音开发库https://www.qt.io/
libqt5-ukui-style-devQt5 UKUI风格开发库https://www.qt.io/
libqt5virtualkeyboard5-devQt5虚拟键盘开发库https://www.qt.io/
libqt5webchannel5-devQt5 WebChannel开发库https://www.qt.io/
libqt5webengine5Qt5 WebEngine模块https://www.qt.io/
libqt5websockets5-devQt5 WebSockets开发库https://www.qt.io/
libqt5webview5-devQt5 WebView开发库https://www.qt.io/
libqt5x11extras5-devQt5 X11扩展开发库https://www.qt.io/
libqtspell-qt5-devQt5拼写检查开发库https://github.com/manisandro/qtspell
libqwt-qt5-devQt5图表开发库https://qwt.sourceforge.io/
libre2-devRE2正则表达式开发库https://github.com/google/re2
libsdl2-devSDL2开发库https://www.libsdl.org/
libsnappy-devSnappy压缩开发库https://github.com/google/snappy
libspeechd-dev语音合成开发库https://freebsoft.org/speechd
libssl-devSSL安全套接字开发库https://www.openssl.org/
libuhd-devUHD开发库https://files.ettus.com/manual/
libvpx-devVP8/VP9视频编解码开发库https://www.webmproject.org/
libx11-devX11开发库https://www.x.org/
libx11-xcb-devX11-XCB开发库https://www.x.org/
libxcb1-devXCB开发库https://xcb.freedesktop.org/
libxcb-composite0-devXCB复合扩展开发库https://xcb.freedesktop.org/
libxcb-cursor-devXCB光标开发库https://xcb.freedesktop.org/
libxcb-damage0-devXCB损坏扩展开发库https://xcb.freedesktop.org/
libxcb-dpms0-devXCB DPMS扩展开发库https://xcb.freedesktop.org/
libxcb-dri2-0-devXCB DRI2扩展开发库https://xcb.freedesktop.org/
libxcb-dri3-devXCB DRI3扩展开发库https://xcb.freedesktop.org/
libxcb-ewmh-devXCB EWMH扩展开发库https://xcb.freedesktop.org/
libxcb-glx0-devXCB GLX扩展开发库https://xcb.freedesktop.org/
libxcb-icccm4-devXCB ICCCM扩展开发库https://xcb.freedesktop.org/
libxcb-image0-devXCB图像扩展开发库https://xcb.freedesktop.org/
libxcb-imdkit-devXCB输入法开发库https://github.com/fcitx/xcb-imdkit
libxcb-keysyms1-devXCB键符号开发库https://xcb.freedesktop.org/
libxcb-present-devXCB Present扩展开发库https://xcb.freedesktop.org/
libxcb-randr0-devXCB RandR扩展开发库https://xcb.freedesktop.org/
libxcb-record0-devXCB Record扩展开发库https://xcb.freedesktop.org/
libxcb-render-util0-devXCB渲染工具开发库https://xcb.freedesktop.org/
libxcb-res0-devXCB资源扩展开发库https://xcb.freedesktop.org/
libxcb-screensaver0-devXCB屏幕保护扩展开发库https://xcb.freedesktop.org/
libxcb-shape0-devXCB形状扩展开发库https://xcb.freedesktop.org/
libxcb-shm0-devXCB共享内存扩展开发库https://xcb.freedesktop.org/
libxcb-sync-devXCB同步扩展开发库https://xcb.freedesktop.org/
libxcb-util-devXCB工具开发库https://xcb.freedesktop.org/
libxcb-xf86dri0-devXCB XF86DRI扩展开发库https://xcb.freedesktop.org/
libxcb-xfixes0-devXCB XFixes扩展开发库https://xcb.freedesktop.org/
libxcb-xinerama0-devXCB Xinerama扩展开发库https://xcb.freedesktop.org/
libxcb-xinput-devXCB XInput扩展开发库https://xcb.freedesktop.org/
libxcb-xkb-devXCB XKB扩展开发库https://xcb.freedesktop.org/
libxcb-xrm-devXCB X资源管理开发库https://github.com/Airblader/xcb-util-xrm
libxcb-xtest0-devXCB XTest扩展开发库https://xcb.freedesktop.org/
libxcb-xv0-devXCB XVideo扩展开发库https://xcb.freedesktop.org/
libxcb-xvmc0-devXCB XVideo MC扩展开发库https://xcb.freedesktop.org/
libxcomposite-devX Composite扩展开发库https://www.x.org/
libxcursor-devX光标开发库https://www.x.org/
libxdamage-devX损坏扩展开发库https://www.x.org/
libxext-devX扩展开发库https://www.x.org/
libxfixes-devX Fixes扩展开发库https://www.x.org/
libxi-devX输入扩展开发库https://www.x.org/
libxkbcommon-devXKB通用开发库https://xkbcommon.org/
libxkbcommon-x11-devXKB X11开发库https://xkbcommon.org/
libxkbfile-devXKB文件开发库https://www.x.org/
libxrandr-devX RandR扩展开发库https://www.x.org/
libxrender-devX渲染扩展开发库https://www.x.org/
libxshmfence-devX共享内存栅栏开发库https://www.x.org/
libxtst-devX测试扩展开发库https://www.x.org/
libzstd-devZstandard压缩开发库https://facebook.github.io/zstd/
lzipLzip压缩工具https://www.nongnu.org/lzip/
lzma-devLZMA压缩开发库https://tukaani.org/xz/
mcMidnight Commander文件管理器https://midnight-commander.org/
nano文本编辑器https://www.nano-editor.org/
ncompress压缩工具https://packages.debian.org/ncompress
ninja-buildNinja构建系统https://ninja-build.org/
nodejsNode.js JavaScript运行时https://nodejs.org/
npmNode.js包管理器https://www.npmjs.com/
OpensshSSH客户端和服务器https://www.openssh.com/
Partitionmanager分区管理工具https://www.kde.org/applications/system/partitionmanager/
perlPerl编程语言https://www.perl.org/
pgadmin3PostgreSQL管理工具https://www.pgadmin.org/
postgisPostGIS地理信息系统https://postgis.net/
postgis-guiPostGIS图形界面https://postgis.net/
postgresqlPostgreSQL数据库https://www.postgresql.org/
python3-html5libPython HTML5解析库https://github.com/html5lib/html5lib-python
python3-pipPython包管理工具https://pip.pypa.io/
python3-rpy2Python R语言接口https://rpy2.github.io/
python3-termcolorPython终端颜色库https://pypi.org/project/termcolor/
qgisQGIS地理信息系统https://qgis.org/
qt5-defaultQt5默认开发包https://www.qt.io/
qt5keychain-devQt5密钥管理开发库https://github.com/frankosterfeld/qtkeychain
qt5-style-pluginsQt5风格插件https://www.qt.io/
qtbase5-examplesQt5基础示例https://www.qt.io/
qtcharts5-examplesQt5图表示例https://www.qt.io/
qtcreatorQt集成开发环境https://www.qt.io/
qtdatavisualization5-examplesQt5数据可视化示例https://www.qt.io/
qtdeclarative5-devQt5声明式开发库https://www.qt.io/
qtlocation5-devQt5定位开发库https://www.qt.io/
qtmultimedia5-devQt5多媒体开发库https://www.qt.io/
qtmultimedia5-examplesQt5多媒体示例https://www.qt.io/
qtpositioning5-devQt5定位开发库https://www.qt.io/
qtquickcontrols2-5-devQt5 Quick Controls 2开发库https://www.qt.io/
qttools5-devQt5工具开发库https://www.qt.io/
qtwebengine5-devQt5 WebEngine开发库https://www.qt.io/
qtwebengine5-examplesQt5 WebEngine示例https://www.qt.io/
rubyRuby编程语言https://www.ruby-lang.org/
sagaSAGA地理信息系统https://saga-gis.org/
screen终端多路复用器https://www.gnu.org/software/screen/
speech-dispatcher语音合成服务https://freebsoft.org/speechd
speech-dispatcher-fliteFlite语音合成插件https://freebsoft.org/speechd
sqliteSQLite数据库https://www.sqlite.org/
uhd-soapysdrUHD SoapySDR支持https://github.com/pothosware/SoapyUHD
unrarRAR解压工具https://www.rarlab.com/
valgrind内存调试工具https://valgrind.org/
wireshark网络协议分析工具https://www.wireshark.org/
xarchiver压缩文件管理器https://github.com/ib/xarchiver
zstdZstandard压缩工具https://facebook.github.io/zstd/

3. 遗留问题

之所以花了20多天,就是因为默认的仓库缺乏维护,导致了不一致的版本(lib和lib-dev的版本冲突)。而基于x86的qemu模拟arm64如蜗牛一样,每个试错都会花费很久。

而我在OS的论坛提问,有朋友提醒我,卸载cups,安装开源的版本,会失去对国产打印机的支持。所以,相当于问题还没有完全解决。Webengine以及一些模块依赖cups,这是一个大问题。

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

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

相关文章

MyBatis简明教程

MyBatis 是一个用于简化数据库操作的持久层框架,它的核心思想是 将 SQL 与 Java 代码解耦,让开发者专注于 SQL 的编写,同时自动处理重复的数据库操作步骤。 一、核心思想:SQL 与 Java 解耦 传统 JDBC 需要开发者手动管理数据库连…

有什么区别?Elastic 和 Splunk 数据层

作者:来自 Elastic Ugo Sangiorgi, Matt Wehle 了解 Elastic 和 Splunk 数据管理方法之间的主要区别,以便做出明智的决策,实现高效的数据处理 在数据管理领域,在讨论如何根据不同的性能要求提供和/或保留数据时,经常会…

BGP状态和机制

BGP邻居优化 为了增加稳定性,通常建议实验回环口来建立邻居。更新源:建立邻居和邻居所学习到的路由的下一跳。多跳:EBGP邻居建立默认选哟直连,因为TTL=1,如果非直连,必须修改TTL。命令备注peer 2.2.2.2 connect-interface lo1配置更新源peer 2.2.2.2 ebgp-max-hop 2配置T…

【电机控制器】PY32F00BF15U6TR-从KEIL5中计算资源消耗资源

【电机控制器】PY32F00BF15U6TR-从KEIL5中计算资源消耗资源 文章目录 [TOC](文章目录) 前言一、MCU芯片手册二、实验三、实验结论四、参考资料总结 前言 使用工具: 1.KEIL5编译器 提示:以下是本篇文章正文内容,下面案例可供参考 一、MCU芯片…

python实战项目58:采集蜻蜓FM热门音频top排行榜

python实战项目58:采集蜻蜓FM热门音频top排行榜 一、采集流程介绍二、数据接口采集三、使用xpath提取页面数据1、抓包,找到数据接口2、发送请求,获取数据3、提取数据4、保存数据一、采集流程介绍 蜻蜓FM热门音频top排行榜的链接为: https://m.qingting.fm/rank/,首页如下图…

STM32【3】芯片的底层组成概论

关于单片机的组成 单片机的意思是,小小计算电脑,麻雀虽小,五脏俱全,里面包含了CPU,ROM,RAM,各种外设。 CPU地位最高,可以访问ROM和RAM,Flash,GPIO等外设&…

基于django图书信息管理系统的搭建(增删改查)

✍django项目搭建教程 ☞ ----------------- 教程 本文主要讲解django如何连接数据库MySQL并且可视化展示,实现增删改查功能 目录 一. 创建django应用 二. 数据库配置 三. 查看数据库 四. 编写代码 4.1视图函数 4.2 配置URL 4.3创建模板文件 4.…

Kotlin 知识点二 延迟初始化和密封类

对变量延迟初始化 Kotlin 语言的许多特性,包括变量不可变,变量不可为空,等等。这些特性 都是为了尽可能地保证程序安全而设计的,但是有些时候这些特性也会在编码时给我们带来不 少的麻烦。 比如,如果你的类中存在很多…

基于SpringBoot的“古城景区管理系统”的设计与实现(源码+数据库+文档+PPT)

基于SpringBoot的“古城景区管理系统”的设计与实现(源码数据库文档PPT) 开发语言:Java 数据库:MySQL 技术:SpringBoot 工具:IDEA/Ecilpse、Navicat、Maven 系统展示 系统整体功能图 系统首页界面 系统注册界面 景…

力扣hot100 —— 电话号码字母组合; 子集 (非回溯做法)简单易懂

由于博主对回溯也不是很熟悉,这里提出一种简单易懂的解法(有点暴力) 解题思路: 每个数字对应有自己的字母串; 首先遍历将每个字母存入也就是 res{{a},{b},{c}} 然后遍历后续数子对应的字母,让每个字母与…

【Redis】在Java中以及Spring环境下操作Redis

Java环境下&#xff1a; 1.创建maven 项目 2.导入依赖 <!-- redis --><dependency><groupId>redis.clients</groupId><artifactId>jedis</artifactId><version>4.3.2</version></dependency> 此处使用的是Jedis&…

Directx上传堆和默认堆注意事项

前景 之前我用directx写上传堆上传给默认堆Index&#xff0c;但是我发现数据无法被GPU读取 void HelloTriangle::createDefaultBuffer(const void* data, const UINT byteSize, ComPtr<ID3D12Resource>& defaultBuffer) {ThrowIfFiled(m_Device->CreateCommitte…

Java封装弱密码校验工具类

弱密码校验工具类 通过检查密码是否符合某些安全策略来判断其强度 ● 密码长度 ● 字符类型 ● 常见密码组合 import java.util.Arrays; import java.util.HashSet; import java.util.Set;public class WeakPasswordCheckUtil {// 常见弱密码列表&#xff08;可根据需求扩展&…

Figure自研模型Helix发布,人形机器人迈向新纪元?

Figure 公司自 2022 年成立以来&#xff0c;便在人形机器人领域崭露头角&#xff0c;成为行业内备受瞩目的新星。公司由连续创业者 Brett Adcock 创立&#xff0c;总部位于美国加利福尼亚州桑尼维尔&#xff0c;汇聚了来自波士顿动力公司、特斯拉、谷歌 DeepMind 等知名企业的顶…

vue3.0将后端返回的word文件流转换为pdf并导出+html2pdf.js将页面导出为pdf

实现思路 1.将Word文档转换为HTML&#xff1a;mammoth.js&#xff0c;它可以将.docx文件转换为HTML 2.将HTML转换为PDF&#xff1a;使用html2pdf.js将HTML转换为PDF 如果想要相同的效果&#xff0c;也可以把前端页面直接导出转换为pdf: 运用的插件&#xff1a;html2pdf.js 后端…

(Arrow)试时间处理变得更简单

前言 Arrow库并不是简单的二次开发,而是在datetime的基础上进行了扩展和增强。它通过提供更简洁的API、强大的时区支持、丰富的格式化和解析功能以及人性化的显示,填补了datetime在某些功能上的空白。如果你需要更高效、更人性化的日期时间处理方式,Arrow库是一个不错的选择…

锂电池使用和存储电压

表格补充说明&#xff1a; 每列数据中&#xff0c;2S和3S电池的数值都是单电芯数值的2倍和3倍&#xff1b;对于其他电压的电池&#xff0c;将单电芯数值乘以相应S数即可&#xff1b;理论上单个电芯过放电压为3.0V&#xff0c;实际中为了保险&#xff0c;电压降到3.6V即需充电。…

欧拉回路与哈密尔顿回路: Fleury算法与Hierholzer 算法(C++)

图论中的回路是指一个路径, 它从某个顶点开始, 经过所有边恰好一次, 并回到起始顶点. 定义 欧拉回路: 从一个顶点出发, 经过每条边恰好一次, 并且最终回到起始顶点. 哈密尔顿回路: 从一个顶点出发, 经过每个顶点恰好一次, 并且最终回到起始顶点. 欧拉路径: 从一个顶点出发, …

20250221 NLP

1.向量和嵌入 https://zhuanlan.zhihu.com/p/634237861 encoder的输入就是向量&#xff0c;提前嵌入为向量 二.多模态文本嵌入向量过程 1.文本预处理 文本tokenizer之前需要预处理吗&#xff1f; 是的&#xff0c;文本tokenizer之前通常需要对文本进行预处理。预处理步骤可…

https:原理

目录 1.数据的加密 1.1对称加密 1.2非对称加密 2.数据指纹 2.1数据指纹实际的应用 3.数据加密的方式 3.1只使用对称加密 3.2只使用非对称加密 3.3双方都使用对称加密 3.4非对称加密和对称加密一起使用 4.中间人攻击 5.CA证书 5.1什么是CA证书 CA证书的验证 6.https的原理 1.数据…