加密与解密
加密与解密
加密方式分类
加密方式主要分为两种
- 一种是对称加密
- 一种是非对称加密
对称加密
对称和非对称两种方式主要说的是加密和解密两个过程。
如果对数据用一个钥匙进行了加密,那么, 你想成功读取到这个加密了的数据的话,就必须对这个加密数据进行解密才行。
在现实生活中,我们锁了门,那就必须用相对应的钥匙才能打开这个门。在数据加密中也是如此,我们对数据进行了加密,也是必须用相对应的钥匙才能解密数据。
因此问题就来了,这种时候我们就会思考怎么对数据进行加密,怎么对数据进行解密。
一开始的方式一般都是比较简单的,就是,我们用一把钥匙对数据进行加密,如果要解密这个数据,就再次用这把钥匙对加密的数据进行解密即可。
像这种加密和解密都是用同一把钥匙的方式就叫做对称加密
采用这种加密方式就诞生了诸多的加密算法,较为常用和知名的就是DES、AES算法

非对称加密
经过上面对对称加密方式的解释,相信聪明的你一定明白了非对称加密方式是怎么回事了吧。简单的说,就是非对称加密的加密和解密的两把钥匙不是同一把钥匙。
但是这里可能大家就会出现一个疑问,因为根据显示生活中的案例来说,既然钥匙都不同了,怎么能解锁呢。
这种时候就不能太较真计算机世界和现实世界的这些小区别了。
这也正是非对称加密算法的特点,就是通过非对称加密算法生成的加密和解密的两把钥匙不同,并且通过加密钥匙加密的数据只能通过解密钥匙解密(相反的,用解密钥匙加密的数据,也只能用解密钥匙进行解密)
一般,我们把通过非对称算法生成的加密钥匙称之为公钥,把通过非对称算法生成的解密钥匙称之为私钥。
而如今常见的非对称算法就是我们现在熟知的RSA算法
思考
为何要有这两种截然不同的加密解密方式?
其实出现这两种截然不同解密解密方式最主要的原因还是因为对称加密的知名缺点
对称加密加密方式的缺点
对称加密有个灰常知名的缺点,那就是,因为加密和解密的钥匙是同一把,那么发送者想要接收者能解密数据,就必须把钥匙传输给接收者,这样一来,就可能会存在传输钥匙的过程中被中间人拦截获取的问题。一旦钥匙被劫持获取,加密数据就变得跟没加密的数据一样。
因此,为了解决钥匙传输问题就衍生出了非对称方式

非对称加密方式的优点
非对称加密方式的特点
通过非对称加密算法生成的加密和解密的两把钥匙不同,并且通过加密钥匙加密的数据只能通过解密钥匙解密(相反的,用解密钥匙加密的数据,也只能用解密钥匙进行解密)
正因为这一特点,非对称加密方式就完美解决了钥匙传输问题。
在实际的应用中,数据的接收者通过RSA算法生成公钥和私钥,之后将公钥发送给数据的发送者,私钥自己保留,用着最终的解密数据。
过程是这样的,发送者用公钥将数据加密,之后再将加密后的数据发送给接收者,接收者用自己手中的密钥对加密的数据进行解密即可
因此,即使在公钥传输过程中被劫持了,数据也不可能被公钥解密。这样就完美解决了钥匙传输问题。
因此这也是非对称加密方式的典型优点,就是能避免钥匙的泄露而导致数据泄露

混合加密方式
非对称加密方式的缺点和对称加密方式的优点
世间没有十全十美的东西和实物。对于加密解密方式也是一样的,有优点就有缺点
非对称加密方式的缺点
虽然非对称加密的优点完美解决了钥匙的传输问题,但是非对称加密算法有个不小的缺点,那就是,它对数据的加密解密时间很长
因此,如果在实际应用中,完全用非对称加密方式的话,无疑是效率极低的。大家都明白,效率低是不能容忍的。
对称加密方式的优点
虽然对称加密方式的缺点很明显,但是它的优点亦是很吸引人的,那就是,它的加密效率很高,相对非对称加密方式的话,它的加密速度快很多很多
混合式加密方式的诞生
既然这两种方式都有各自的优缺点,那么我们要做的就是取其精华去其糟粕,各取两种方式的优点,混合使用。这样就能既安全又高效的对数据进行加密解密

加密过程
简单说明一下如何混合利用两种方式的优点进行加密
- 1、因为非对称加密慢,因此,我们对数据的加密依然用对称加密方式,这样就能快速的加密数据
- 2、但是对称加密存在钥匙传输问题,但是非对称方式能解决传输问题,因此,就用非对称方式的公钥对 对称加密的钥匙 进行加密
- 3、之后再将加密后的数据和加密后的对称钥匙一并发送给接收者
- 4、之后接收者用非对称方式的密钥对加密后的 对称钥匙 进行解密
- 5、再用解密后的 对称钥匙 对数据进行解密
- 6、这样就做到了, 既能快速加密数据,又能确保钥匙的安全
相关文章:
加密与解密
加密与解密 加密方式分类 加密方式主要分为两种 一种是对称加密一种是非对称加密 对称加密 对称和非对称两种方式主要说的是加密和解密两个过程。 如果对数据用一个钥匙进行了加密,那么, 你想成功读取到这个加密了的数据的话,就必须对这…...
京东金融Android瘦身探索与实践
作者:京东科技 冯建华 一、背景 随着业务不断迭代更新,App的大小也在快速增加,2019年~2022年期间一度超过了117M,期间我们也做了部分优化如图1红色部分所示,但在做优化的同时面临着新的增量代码,包体积一直…...
open3d-ml 读取SemanticKITTI Dataset
目录 1. 下载dataset 2. 读取并做可视化 3. 源码阅读 3.1 读取点云数据-bin格式 3.2 读取标注数据-.label文件 3.3 读取配置 3.4 test 3.5 train 1. 下载dataset 以SemanticKITTI为例。下载链接:http://semantic-kitti.org/dataset.html#download 把上面三…...
6.其他函数
1.时间日期类 -- current_date() 返回当前日期 -- date_add(date, n) 返回从date开始n天之后的日期 -- date_sub(date, n) 返回从date开始n天之前的日期 -- datediff(date1, date2) 返回date1-date2的日期差 -- year(date) 返回…...
2023年宜昌市中等职业学校技能大赛 “网络搭建与应用”竞赛题-1
2023年宜昌市中等职业学校技能大赛 “网络搭建与应用”竞赛题 一、竞赛内容分布 “网络搭建及应用”竞赛共分二个部分,其中: 第一部分:企业网络搭建部署项目,占总分的比例为50%; 第二部分:企业网络服…...
Linux权限划分的原则
考察的不仅是一个具体的指令,还考察对技术层面的认知。 如果对 Linux 权限有较深的认知和理解,那么完全可以通过查资料去完成具体指令的执行。更重要的是,认知清晰的程序员可以把 Linux 权限管理的知识迁移到其他的系统设计中。 权限抽象 一…...
PhotoScan拼接无人机航拍RGB照片
目录 背景 拼接步骤 1.新建并保存项目 2.添加照片 3.对齐照片 4.添加标记(Markers) 5.添加地面控制点 6.建立批处理任务 7.使用批处理文件进行批处理 8.导出DEM 9.导出DOM 背景 本文介绍使用地面控制点(GCPs)拼接…...
【设计模式】责任链模式的介绍及其应用
责任链的介绍 责任链模式是一种对象的行为模式。在责任链模式里,很多对象由每一个对象对其下家的引用而连接起来形成一条链。请求在这个链上传递,直到链上的某一个对象决定处理此请求。发出这个请求的客户端并不知道链上的哪一个对象最终处理这个请求&a…...
一些思考关于行业,关于方向,关于人生路线
一些碎碎念 选择与视角工程与科研平台与信息敢问路在何方 选择与视角 两年前的秋招时几乎速通了出现在学校招聘会上的几乎出现的每一个offer,那也是我人生第一次收获到如此多的肯定与选择,为此我在b站上上传了一期就业解读,作为一个冷门到几…...
fbx sdk的使用介绍
我们平时需要围绕fbx写一些小工具,虽说使用ascii格式的fbx可以直接进行字符串解析,并且网上也有一些基于ascii解析的开源库,但在制作一些通用的工具时,使用fbx sdk进行编写肯定是最好的。 1.下载fbx sdk和cmake 要用cmake生成vi…...
mvvm模式
mvvm是Model-View-ViewModel的缩写,是前端的一种架构模式 M - Model,模型 对应data数据 V - View,视图 对应用户界面,DOM元素 VM - ViewModel,视图模型 对应vue实例对象,是连接model和view的桥梁 …...
Spring/SpringBoot常用注解总结
为什么要写这篇文章? 最近看到网上有一篇关于 SpringBoot 常用注解的文章被转载的比较多,我看了文章内容之后属实觉得质量有点低,并且有点会误导没有太多实际使用经验的人(这些人又占据了大多数)。所以,自…...
2023 年第八届数维杯大学生数学建模挑战赛 B 题 节能列车运行控制优化策略
在城市交通电气化进程快速推进的同时,与之相应的能耗增长和负面效应也 在迅速增加。城市轨道交通中的快速增长的能耗给城轨交通的可持续性发展带来 负担。2018 年,北京、上海、广州地铁负荷占全市总负荷的 1.5%-2.5%,成为了 城市电网的最大单体负荷[1]。…...
【Swift】 NSButton的用法和示例
NSButton是macOS开发中常用的控件,用于创建按钮。它有许多用法和需要注意的事项,下面介绍其中的一些。 1. 创建按钮:使用init(frame:)或init(title:action:)初始化按钮 let button NSButton(frame: NSRect(x: 0, y: 0, width: 100, height…...
2023什么蓝牙耳机好?经销商盘点新手必入蓝牙耳机品牌
蓝牙耳机是除手机外我们使用频率最高的数码产品,我做蓝牙耳机经销商五年来,对各个品牌都有深入了解。近期看到很多新手们咨询什么蓝牙耳机好,我给大家盘点一下新手必看的五大蓝牙耳机品牌。 1.JEET Air 2蓝牙耳机 推荐理由:专为舒…...
MySQL基础(二十)MySQL的数据目录
1. MySQL8的主要目录结构 find / -name mysql1.1 数据库文件的存放路径 show variables like datadir; # /var/lib/mysql/1.2 相关命令目录 相关命令目录:/usr/bin 和/usr/sbin。 1.3 配置文件目录 配置文件目录:/usr/share/mysql-8.0(命…...
低代码行业未来如何?大家都真的看好低代码开发吗?
低代码行业未来如何?大家都真的看好低代码开发吗? 是否一定需要开发人员?低代码和无代码平台会取代传统编程吗?低代码/无代码真的是未来吗? 无疑是需要且重要的。今天就来解答为什么低/零代码工具越来越受欢迎…...
mac m2芯片 安装 brew 和cocoapods
Homebrew的安装 /bin/zsh -c "$(curl -fsSL https://gitee.com/cunkai/HomebrewCN/raw/master/Homebrew.sh)" 这里可能会失败,如 git clone 时候报错 error: RPC failed; curl 92 HTTP/2 stream 5 was not closed cleanly before end of the underlyi…...
SingleR --细胞注释
文章目录 briefExample使用内置的 references使用其他注释好的数据集作为 reference singleR还提供了注释诊断的方法 brief Example The celldex package provides access to several reference datasets (mostly derived from bulk RNA-seq or microarray data)。 The Human…...
【结构与算法】—— 游戏概率常用算法整理 | 游戏中的常见概率设计分析
📢博客主页:肩匣与橘📢欢迎点赞 👍 收藏 ⭐留言 📝 如有错误敬请指正!📢本文由肩匣与橘编写,首发于CSDN🙉📢生活依旧是美好而又温柔的,你也是✨ …...
XCTF-web-easyupload
试了试php,php7,pht,phtml等,都没有用 尝试.user.ini 抓包修改将.user.ini修改为jpg图片 在上传一个123.jpg 用蚁剑连接,得到flag...
进程地址空间(比特课总结)
一、进程地址空间 1. 环境变量 1 )⽤户级环境变量与系统级环境变量 全局属性:环境变量具有全局属性,会被⼦进程继承。例如当bash启动⼦进程时,环 境变量会⾃动传递给⼦进程。 本地变量限制:本地变量只在当前进程(ba…...
SciencePlots——绘制论文中的图片
文章目录 安装一、风格二、1 资源 安装 # 安装最新版 pip install githttps://github.com/garrettj403/SciencePlots.git# 安装稳定版 pip install SciencePlots一、风格 简单好用的深度学习论文绘图专用工具包–Science Plot 二、 1 资源 论文绘图神器来了:一行…...
Cesium1.95中高性能加载1500个点
一、基本方式: 图标使用.png比.svg性能要好 <template><div id"cesiumContainer"></div><div class"toolbar"><button id"resetButton">重新生成点</button><span id"countDisplay&qu…...
解锁数据库简洁之道:FastAPI与SQLModel实战指南
在构建现代Web应用程序时,与数据库的交互无疑是核心环节。虽然传统的数据库操作方式(如直接编写SQL语句与psycopg2交互)赋予了我们精细的控制权,但在面对日益复杂的业务逻辑和快速迭代的需求时,这种方式的开发效率和可…...
【单片机期末】单片机系统设计
主要内容:系统状态机,系统时基,系统需求分析,系统构建,系统状态流图 一、题目要求 二、绘制系统状态流图 题目:根据上述描述绘制系统状态流图,注明状态转移条件及方向。 三、利用定时器产生时…...
2025盘古石杯决赛【手机取证】
前言 第三届盘古石杯国际电子数据取证大赛决赛 最后一题没有解出来,实在找不到,希望有大佬教一下我。 还有就会议时间,我感觉不是图片时间,因为在电脑看到是其他时间用老会议系统开的会。 手机取证 1、分析鸿蒙手机检材&#x…...
3-11单元格区域边界定位(End属性)学习笔记
返回一个Range 对象,只读。该对象代表包含源区域的区域上端下端左端右端的最后一个单元格。等同于按键 End 向上键(End(xlUp))、End向下键(End(xlDown))、End向左键(End(xlToLeft)End向右键(End(xlToRight)) 注意:它移动的位置必须是相连的有内容的单元格…...
什么是Ansible Jinja2
理解 Ansible Jinja2 模板 Ansible 是一款功能强大的开源自动化工具,可让您无缝地管理和配置系统。Ansible 的一大亮点是它使用 Jinja2 模板,允许您根据变量数据动态生成文件、配置设置和脚本。本文将向您介绍 Ansible 中的 Jinja2 模板,并通…...
2023赣州旅游投资集团
单选题 1.“不登高山,不知天之高也;不临深溪,不知地之厚也。”这句话说明_____。 A、人的意识具有创造性 B、人的认识是独立于实践之外的 C、实践在认识过程中具有决定作用 D、人的一切知识都是从直接经验中获得的 参考答案: C 本题解…...
