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

一文说清楚编码、摘要、加密、公钥、私钥、解密、签名、验签

编码

对信息进行编码,没有信息损失,任何人都能通过编码方式对信息进行解码。例如 ASCII 码,base64 编码。

例如下面是 ASCII 编码表:

ASCII 编码

摘要

对信息计算摘要值,有信息损失,例如 md5 摘要,sha1 摘要。

MD5 摘要

加密

对信息进行加密使其无法被监听者获知内容,没有信息损失。例如:AES、DES、RSA。

AES 加密

公钥

公钥就是两个数字,e(e = 65537,e > 1 且与 ø(n) 互质,ø(n) 为欧拉函数),n(n = p * q,p、q 为质数),用于验签或加密。一般不说用公钥解密,说用公钥验签。例如 RSA 公钥。

私钥

私钥就是两个数字,d(e 对于 ø(n) 的逆元,ø(n) 为欧拉函数)、n(n = p * q,p、q 为质数),用于签名或解密。一般不说用私钥加密,说用私钥签名

公钥与私钥的关系

在数学上没有区别,都是一对数字,取决于将哪一组数字公开。公钥加密的内容要使用私钥解密;私钥加密的内容要使用公钥解密。私钥要自己保护好,不得泄露;公钥可以公开在互联网上,任何人都可以用它来加密信息,当然加密内容只有私钥能够解出来。

RSA 加密

签名

计算信息的摘要值,用私钥对摘要值进行签名,生成一个签名值,签名算法有 RS256 等。

RSA + MD5 签名

验签

利用公钥对签名信息进行验证。拿到一段信息和它的签名值,需要先计算信息摘要值,用公钥解密签名值,和计算的信息摘要值进行比对。

RSA + MD5 验签


http://www.mrgr.cn/news/91871.html

相关文章:

  • 对免认证服务提供apikey验证
  • 大数据学习之任务流调度系统Azkaban、Superset可视化系统
  • Powershell Install deepseek
  • 【Kubernets】Kubernets资源类型Deployment详细介绍
  • DeepSeek vs ChatGPT:AI 领域的华山论剑,谁主沉浮?
  • 人工智能驱动的自动驾驶:技术解析与发展趋势
  • 【笔记ing】C语言补充、组成原理数据表示与汇编实战、操作系统文件实战(高级阶段)
  • 【精调】LLaMA-Factory 快速开始4 自定义个一个sharegpt数据集并训练
  • DeepSeek掘金——调用DeepSeek API接口 实现智能数据挖掘与分析
  • 机器学习实战(12):项目实战—端到端的机器学习项目Kaggle糖尿病预测
  • 《Keras 2 :使用 RetinaNet 进行对象检测》:此文为AI自动翻译
  • Helix——Figure 02发布通用人形机器人控制的VLA:一组神经网络权重下的快与慢双系统,让两个机器人协作干活
  • qt5实现表盘的旋转效果,通过提升QLabel类
  • go 并发 gorouting chan channel select Mutex sync.One
  • 【OS安装与使用】part6-ubuntu 22.04+CUDA 12.4运行MARL算法(多智能体强化学习)
  • DDD架构实战:用Java实现一个电商订单系统,快速掌握领域驱动设计
  • 一文详解U盘启动Legacy/UEFI方式以及GPT/MBR关系
  • 【工具篇】【深度解析 DeepAI 工具:开启 AI 应用新体验】
  • RNN中远距离时间步梯度消失问题及解决办法
  • Linux----线程