非对称加解密和签名

非对称加解密特点

一对密钥,公钥和私钥。私钥自己持有,公钥公开给通信的对方。
如果公钥用作加密,那么私钥用作解密。
如果私钥用做加密,那么公钥用作解密。
如果数据量少可用非对称加密算法直接加密。
如果数据量大,则采用对称加密算法加密数据,非对称加密算法对 “对称加密算法使用的密钥” 进行加密

1、用作加密:A使用B的公钥对要传送的数据加密,B使用B的私钥解密。如果数据量少可用非对称加密算法直接加密。

可以这样实现:A传送数据给B时,A随机生成1个密钥(约定好的对称加密算法的密钥),使用约定好的对称加密算法和这个密钥对数据进行加密,然后使用B的公钥对secretKey进行加密,将加密后的数据连同加密后的secretKey发送给B,B使用自己的私钥对加密后的密钥进行解密。再利用解密出来的密钥对密文数据进行解密。
如下所图示:
在这里插入图片描述

2、用作签名:A使用A的私钥对要签名的数据加密,B使用A的公钥对数据进行解密。

可以这样实现:A对要传送的内容进行哈希计算如MD5,SHA256等。然后对哈希值进行签名,将签名值和要传送给的内容传送给B,B用A的公钥对签名值进行解密,再将传送过来的内容进行同样算法的哈希计算,得到一个哈希值,将此哈希值与解密出的哈希值进行对比,如果一样说明传送内容未被篡改。
如下所图示:

在这里插入图片描述

3、带签名加密:如果数据量大,则采用对称加密算法加密数据,非对称加密算法对 “对称加密算法使用的密钥” 进行加密

A生成一个密钥secretKey用作对数据进行对称加密,用secretKey对数据进行加密。然后使用A的私钥对密文数据进行哈希计算,得到一个签名值,再使用B的公钥将密钥secretKey进行加密。将要传送的密文,加密后的签名值,加密后的密钥,一并发给B。B使用A的公钥对签名值进行解密,得到解密后的签名值,再使用与A相同的哈希算法对接收到的密文进行哈希计算,将得到的哈希值与解密后的签名值比较,如果相同则说明传送的密文内容未被篡改,使用B的私钥对加密的secretKey进行解密,再使用解密后的密钥对密文数据进行解密。
如下所图示:
在这里插入图片描述

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

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

相关文章

【Python爬虫教程】第7篇-requests模块的cookies保存和使用

文章目录 为什么要保存cookiesrequests.utils工具类保存cookies到本地文件从本地文件解析cookies使用使用实践 为什么要保存cookies 保存cookies是避免每次都登录获取权限,一遍权限是有过期时间的,不需要每次重复登录,可以将cookies保存起来…

sqlalchemy.orm中validates对两个字段进行联合校验

版本 sqlalchemy1.4.37 需求说明 有个场景,需要在orm中对两个字段进行联合校验,当 col1 xxx’时,对 col2的长度进行检查,超过限制(500)时,进行截断。 网上找了很久,没找到类似的…

MySQL事务隔离级别+共享锁,排他锁,乐观锁,悲观锁

在操作数据库的时候,可能会由于并发问题而引起的数据的不一致性(数据冲突)。 MySQL事务隔离级别 一个事务的执行,本质上就是一条工作线程在执行,当出现多个事务同时执行时,这种情况则被称之为并发事务&am…

AB 罗克韦尔 1796-AFRAME控制器 处理器 模块

AB 罗克韦尔 1796-AFRAME 控制器专为各种工业自动化应用而设计,包括制造,过程控制等。它具有强大的处理器,以及广泛的连接选项,包括以太网,USB和串行端口 AB 罗克韦尔 1796-AFRAME控制器是一款紧凑而功能强大的控制器…

AI算法16-贝叶斯线性回归算法Bayesian Linear Regression | BLR

贝叶斯线性回归算法简介 频率主义线性回归概述 线性回归的频率主义观点可能你已经学过了:该模型假定因变量(y)是权重乘以一组自变量(x)的线性组合。完整的公式还包含一个误差项以解释随机采样噪声。如有两个自变量时…

企业和个人在网络安全方面需承担哪些责任?

企业在网络安全方面的责任 企业在网络安全方面承担着重要的责任,主要包括建立健全网络安全管理体系、制定网络安全政策和规范、加强员工的网络安全意识培训、提高网络安全防护能力等。企业还需要采取有效的技术措施来保护用户数据的安全,如使用加密技术…

华为昇思MindSpore 25天学习打卡-0711

在深入学习和实现深度学习算法时,理解其背后的原理和机制至关重要。通过使用纯Python实现一个简单的神经网络,我们可以更好地理解这些基本概念,而无需依赖诸如PyTorch或TensorFlow等高级深度学习框架。以下是我在编写和研究以上代码时的一些学…

excel系列(二) - 利用 easypoi 快速实现 excel 文件导入导出

一、介绍 在上篇文章中,我们介绍了 apache poi 工具实现 excel 文件的导入导出。 本篇我们继续深入介绍另一款优秀的 excel 工具库:easypoi。 二、easypoi 以前的以前,有个大佬程序员,跳到一家公司之后就和业务人员聊上了&…

springboot项目,指定某些接口不被拦截方法

1、监听器(Interceptor)拦截处理 在 Spring Boot应用中,如果你希望某些请求地址不被监听器(Interceptor)拦截处理,可以通过配置拦截器的路径来实现。拦截器通常用于在请求前后进行处理,比如权限…

Parallels Desktop 19 for Mac(PD19虚拟机)详细图文安装教程分享

Parallels Desktop 19是一款功能丰富、性能强大且易于使用的虚拟机软件,它可以让您在Mac上同时运行多个操作系统,为您提供更大的灵活性和兼容性。 Parallels Desktop 19 for Mac(PD19虚拟机)下载安装包 Parallels Desktop 19 for Mac(PD19虚拟机)详细图…

kubernetes v1.29.6集群部署

文章目录 1、配置hostname2、安装k8s的Runtime2.1、安装Docker2.2 安装cri-dockerd 3、安装k8s3.1、安装k8s组件3.2、初始化k8s3.2.1、拉取k8s相关镜像3.2.2、集群初始化 3.3、安装网络组件calico3.3.1、在线安装calico3.3.2、离线安装calico 3.4、节点加入 4、部署应用4.1、命…

linux端口,进程管理,主机状态监控

linux端口,进程管理,主机状态监控 一、端口 1、什么是端口?2、端口的划分2、查看端口占用 二、进程 1、什么是进程2、查看进程信息2、关闭进程 三、主机状态监控 1、查看资源占用2、磁盘信息监控3、查看网络情况 四、命令总结 一、端口 1、什么是端口…

电力调度台如何助力电力指挥中心更智慧

在现代电力系统的复杂运行环境中,电力调度台正逐渐成为电力指挥中心实现智慧化管理的关键力量。 电力调度台具备强大的信息集成与处理能力。它能够将来自不同监测系统、传感器和数据源的海量数据汇聚一处,包括电力设备的实时运行状态、电力负荷的动态变化…

springmvc-09

如果想在拦截的方法里面得到从前台传入的参数,怎么得到 在Spring MVC中,可以通过在拦截器中使用HttpServletRequest对象来获取前台传入的参数。通过HttpServletRequest对象,你可以使用getParameter方法获取前台传入的参数值。 以下是一个示例&#xff1…

C++客户端Qt开发——常用控件(输入类控件)

4.输入类控件 ①Line Edit 单行输入框 属性 说明 text 输入框中的文本 input 输入内容格式约束 maxLength 最大长度 frame 是否添加边框 echoMode 显示方式 QLineEdit::Normal:这是默认值,文本框会显示输入的文本。 QLineEdit::Password&…

C++客户端Qt开发——常用控件(多元素控件)

5.多元素控件 Qt中提供的多元素控件有: QListWidget QListView QTablewidget QTableview QTreewidget QTreeview xxWidget和xView之间的区别 以QTableWidget和QTableView为例. QTableView是基于MVC设计的控件.QTableView自身不持有数据.使用QTableView的时候需要…

Django任务管理

1、用django-admin命令创建一个Django项目 django-admin startproject task_manager 2、进入到项目下用命令创建一个应用 cd task_manager python manage.py startapp tasks 3、进入models.py定义数学模型 第2步得到的只是应用的必要空文件,要开始增加各文件实际…

STM32(五):STM32指南者-按键控制灯开关实验

说明:源代码和教程可从野火处下载,本博客为了记录学习过程STM32(四):STM32指南者-跑马灯实验的基础上 一、采用轮询方式1、bsp_key.h2、bsp_key.c3、main.c 二、采用中断方式1、bsp_exti.h2、bsp_exti.c3、stm32f10x_i…

AI写作不懂提示词 大象Prompt 保姆级系列教程三

一、提示词的核心价值究竟是啥? 最近跟不少业内朋友探讨这事儿,我觉得:提示词的核心价值在于对方法论的封装以及由此带来的知识传播速度加快。 通俗讲,假如你熟悉的行业里有个厉害的“老师傅”,他在核心业务上有好多心…

社交媒体与内容营销:广告如何巧妙融入不干扰用户体验

一、社交媒体:朋友圈的小广告,你忍得住吗? 社交媒介,人们耳熟能详,且常常参与其中的领域。比如微信、微博、抖音等,它们已成为我们获取信息和商家推销产品的重要渠道。当您浏览朋友圈时,是否曾…