加密与解密
加密与解密
加密方式分类
加密方式主要分为两种
- 一种是对称加密
- 一种是非对称加密
对称加密
对称和非对称两种方式主要说的是加密和解密两个过程。
如果对数据用一个钥匙进行了加密,那么, 你想成功读取到这个加密了的数据的话,就必须对这个加密数据进行解密才行。
在现实生活中,我们锁了门,那就必须用相对应的钥匙才能打开这个门。在数据加密中也是如此,我们对数据进行了加密,也是必须用相对应的钥匙才能解密数据。
因此问题就来了,这种时候我们就会思考怎么对数据进行加密,怎么对数据进行解密。
一开始的方式一般都是比较简单的,就是,我们用一把钥匙对数据进行加密,如果要解密这个数据,就再次用这把钥匙对加密的数据进行解密即可。
像这种加密和解密都是用同一把钥匙的方式就叫做对称加密
采用这种加密方式就诞生了诸多的加密算法,较为常用和知名的就是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🙉📢生活依旧是美好而又温柔的,你也是✨ …...
树莓派超全系列教程文档--(62)使用rpicam-app通过网络流式传输视频
使用rpicam-app通过网络流式传输视频 使用 rpicam-app 通过网络流式传输视频UDPTCPRTSPlibavGStreamerRTPlibcamerasrc GStreamer 元素 文章来源: http://raspberry.dns8844.cn/documentation 原文网址 使用 rpicam-app 通过网络流式传输视频 本节介绍来自 rpica…...
盘古信息PCB行业解决方案:以全域场景重构,激活智造新未来
一、破局:PCB行业的时代之问 在数字经济蓬勃发展的浪潮中,PCB(印制电路板)作为 “电子产品之母”,其重要性愈发凸显。随着 5G、人工智能等新兴技术的加速渗透,PCB行业面临着前所未有的挑战与机遇。产品迭代…...
阿里云ACP云计算备考笔记 (5)——弹性伸缩
目录 第一章 概述 第二章 弹性伸缩简介 1、弹性伸缩 2、垂直伸缩 3、优势 4、应用场景 ① 无规律的业务量波动 ② 有规律的业务量波动 ③ 无明显业务量波动 ④ 混合型业务 ⑤ 消息通知 ⑥ 生命周期挂钩 ⑦ 自定义方式 ⑧ 滚的升级 5、使用限制 第三章 主要定义 …...
云启出海,智联未来|阿里云网络「企业出海」系列客户沙龙上海站圆满落地
借阿里云中企出海大会的东风,以**「云启出海,智联未来|打造安全可靠的出海云网络引擎」为主题的阿里云企业出海客户沙龙云网络&安全专场于5.28日下午在上海顺利举办,现场吸引了来自携程、小红书、米哈游、哔哩哔哩、波克城市、…...
23-Oracle 23 ai 区块链表(Blockchain Table)
小伙伴有没有在金融强合规的领域中遇见,必须要保持数据不可变,管理员都无法修改和留痕的要求。比如医疗的电子病历中,影像检查检验结果不可篡改行的,药品追溯过程中数据只可插入无法删除的特性需求;登录日志、修改日志…...
使用分级同态加密防御梯度泄漏
抽象 联邦学习 (FL) 支持跨分布式客户端进行协作模型训练,而无需共享原始数据,这使其成为在互联和自动驾驶汽车 (CAV) 等领域保护隐私的机器学习的一种很有前途的方法。然而,最近的研究表明&…...
Qwen3-Embedding-0.6B深度解析:多语言语义检索的轻量级利器
第一章 引言:语义表示的新时代挑战与Qwen3的破局之路 1.1 文本嵌入的核心价值与技术演进 在人工智能领域,文本嵌入技术如同连接自然语言与机器理解的“神经突触”——它将人类语言转化为计算机可计算的语义向量,支撑着搜索引擎、推荐系统、…...
2023赣州旅游投资集团
单选题 1.“不登高山,不知天之高也;不临深溪,不知地之厚也。”这句话说明_____。 A、人的意识具有创造性 B、人的认识是独立于实践之外的 C、实践在认识过程中具有决定作用 D、人的一切知识都是从直接经验中获得的 参考答案: C 本题解…...
Spring是如何解决Bean的循环依赖:三级缓存机制
1、什么是 Bean 的循环依赖 在 Spring框架中,Bean 的循环依赖是指多个 Bean 之间互相持有对方引用,形成闭环依赖关系的现象。 多个 Bean 的依赖关系构成环形链路,例如: 双向依赖:Bean A 依赖 Bean B,同时 Bean B 也依赖 Bean A(A↔B)。链条循环: Bean A → Bean…...
LangChain知识库管理后端接口:数据库操作详解—— 构建本地知识库系统的基础《二》
这段 Python 代码是一个完整的 知识库数据库操作模块,用于对本地知识库系统中的知识库进行增删改查(CRUD)操作。它基于 SQLAlchemy ORM 框架 和一个自定义的装饰器 with_session 实现数据库会话管理。 📘 一、整体功能概述 该模块…...
