说说签名与验签

简介

本文会比较简短

目的很简单

就是提升自己对【签名】与【验签】的熟悉程度 ------ 熟悉签名、验签的【整体流程】

正文

签名简介

【签名】用于验证消息来源和完整性。需配合哈希算法(如 SHA-256)和密钥对(用私钥签名,用公钥验证)。

它只用于非对称加密(也就是发送方和接收方分别有自己的公钥和私钥)

签名和验签的流程【这是最重要的部分,要十分熟练】

发送方(签名):

a. 对原始消息计算哈希值(摘要)。

b. 使用发送方自己的私钥,对这个哈希值进行签名运算,生成数字签名。

c. 将【原始消息】和【数字签名】一起发送给接收方。

接收方(验签):

a. 接收后,将收到的内容分离成【原始消息】和【数字签名】两部分。

b. 使用发送方的公钥对数字签名进行【验签】运算,从而解出一个哈希值 H1。【⚠️⚠️ 注意,这边说的是验签,这个词会比"解密"更精准】

c. 最关键的一步: 使用【相同的哈希算法】,对收到的原始消息单独计算一次哈希值 H2。【⚠️⚠️ 注意,也就是双方的哈希算法是提前约定好的】

d. 将计算得到的 H2 与从签名中解出的 H1 进行比对。

如果 H1 == H2:验签成功!证明:1. 消息确实来自发送方(认证性)。2. 消息在传输中未被篡改(完整性)。

如果 H1 != H2:验签失败!证明消息要么被篡改,要么不是声称的发送方所发。

最后

此前只注意"签名"这个词,不太注意"验签"这个词

导致最开始在看一些内容的时候有点懵

特此总结!

相关推荐
红尘散仙2 小时前
我把终端小说阅读器接上了 AI Agent:TRNovel 现在能用 skill 生成书源了
人工智能·后端·rust
卷毛的技术笔记4 小时前
告别硬编码!Spring AI Alibaba 实现 AI Agent 智能工具调用(Tool Calling)
java·人工智能·后端·python·spring·ai编程
会编程的土豆4 小时前
Go 语言反射(Reflection)详解
开发语言·后端·golang
喵个咪4 小时前
GoWind Toolkit Go后端代码生成 完整全流程实战
后端·go·orm
basketball6165 小时前
Go 语言从入门到进阶:4. 数组和MAP使用方法总结
开发语言·后端·golang
qq_2518364575 小时前
SpringBoot+Vue 共享电池柜管理系统 完整实现 前后端分离项目实战 完整代码
vue.js·spring boot·后端
zhangxingchao5 小时前
AI 大模型核心六:量化、Workflow 与 Agent、多轮 RAG
前端·人工智能·后端
IT_陈寒6 小时前
Vite打包时遇到的坑,原来问题出在这里
前端·人工智能·后端
ayqy贾杰7 小时前
基层管理的三板斧,在AI时代行不通了
前端·后端·团队管理
Apifox7 小时前
Apifox 5 月更新|Postman 导入优化、Runner 支持非 root 运行、请求代码自动带鉴权
前端·后端·安全