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

区块链签名种类


1. eth_sign

  • 简介:最早实现的签名方法,用于对任意数据进行签名。
  • 签名内容:直接对原始消息的哈希值进行签名。
  • 特点
    • 安全性较低,因为签名的消息没有明确的上下文或结构。
    • 很容易被滥用,攻击者可以伪造签名内容。
  • 适用场景:早期应用,但不推荐用于重要场景。
  • 风险:容易被用作重放攻击,因此通常被认为是不安全的,这种千万不要用,应该被禁用。

2. personal_sign

  • 简介:改进的签名方法,专门为以太坊钱包实现。
  • 签名内容
    • 对消息前添加一个前缀("\x19Ethereum Signed Message:\n" + message.length),然后进行签名。
    • 这个前缀使得签名与交易签名区别开,防止重放攻击。
  • 特点
    • eth_sign 更安全。
    • 广泛用于钱包签名消息,例如用户登录验证。
  • 适用场景:个人签名、验证身份等。

3. signTypedData 和变体

这些方法用于签名结构化数据,与 EIP-712 标准相关联。它们允许对特定格式的复杂数据进行签名,提供更高的安全性和可读性。

signTypedData_v1
  • 简介:初始版本,实现较为简单。
  • 签名内容:签名 JSON 数据的字符串形式。
  • 特点
    • 签名的内容是字符串化后的数据,而不是结构化数据本身。
    • 可读性差,容易出错。
  • 状态:很少被使用,已被后续版本替代。
signTypedData_v3
  • 简介:基于 EIP-712 的第一个广泛实现版本。
  • 签名内容
    • 使用 EIP-712 定义的数据结构。
    • 签名前将数据结构编码为更紧凑和可读的形式。
  • 特点
    • 更安全,数据结构明确。
    • 兼容 MetaMask 等钱包,但 UI 提示可能不够友好。
  • 适用场景:签名复杂的结构化数据,例如智能合约交互。
signTypedData_v4
  • 简介:最新实现,完全符合 EIP-712 标准。
  • 签名内容
    • 支持更复杂的数据类型,例如数组和嵌套结构。
    • v3 更灵活和强大。
  • 特点
    • 用户在签名前可以更清楚地看到要签名的内容。
    • 广泛支持于现代钱包中。
  • 适用场景:高级用例,例如链上治理、DeFi 协议交互。

4. 核心区别总结

方法安全性签名内容主要用途状态
eth_sign较低原始消息哈希值早期签名,已不推荐不推荐
personal_sign较高添加前缀的消息哈希值身份验证、个人消息签名常用
signTypedData_v1中等JSON 字符串化数据结构化数据签名(初版)很少使用
signTypedData_v3EIP-712 数据结构结构化数据签名,智能合约交互常用(兼容性好)
signTypedData_v4最高完整 EIP-712 支持支持复杂数据类型的结构化签名最新、广泛支持

推荐使用

  • 身份验证、消息签名personal_sign
  • 智能合约交互、复杂数据签名signTypedData_v4(优先)或 v3

对于开发者,建议始终选择安全性较高的 signTypedData 系列方法,同时确保用户界面能清晰地展示签名内容,避免用户在不明情况下授权。

相关文章:

区块链签名种类

1. eth_sign 简介:最早实现的签名方法,用于对任意数据进行签名。签名内容:直接对原始消息的哈希值进行签名。特点: 安全性较低,因为签名的消息没有明确的上下文或结构。很容易被滥用,攻击者可以伪造签名内…...

【062B】基于51单片机无线病房呼叫系统(+时间)【Keil程序+报告+原理图】

☆、设计硬件组成:51单片机最小系统NRF24L01无线模块DS1302时钟芯片LCD1602液晶显示按键设置蜂鸣器LED灯。 1、本设计采用STC89C51/52、AT89C51/52、AT89S51/52作为主控芯片,采用LCD1602液晶显示呼叫信息,系统共有两个板子(一个接…...

突破空间限制!从2D到3D:北大等开源Lift3D,助力精准具身智能操作!

文章链接:https://arxiv.org/pdf/2411.18623 项目链接:https://lift3d-web.github.io/ 亮点直击 提出了Lift3D,通过系统地提升隐式和显式的3D机器人表示,提升2D基础模型,构建一个3D操作策略。 对于隐式3D机器人表示&a…...

【pyspark学习从入门到精通24】机器学习库_7

目录 聚类 在出生数据集中寻找簇 主题挖掘 回归 聚类 聚类是机器学习中另一个重要的部分:在现实世界中,我们并不总是有目标特征的奢侈条件,因此我们需要回归到无监督学习的范式,在那里我们尝试在数据中发现模式。 在出生数据…...

Echart折线图属性设置 vue2

Echart折线图 官方配置项手册 Documentation - Apache ECharts 下面代码包含:设置标题、线条样式、图例圆圈的样式、显示名称格式、图片保存、增加Y轴目标值 updateChart(data) {const sortedData data.slice().sort((a, b) > new Date(a.deviceTime) - ne…...

LabVIEW-简单串口助手

LabVIEW-简单串口助手 串口函数VISA配置串口VISA写入函数VISA读取函数VISA资源名称按名称解除捆绑 函数存放位置思维导图主体界面为以下 串口函数 VISA配置串口 VISA写入函数 VISA读取函数 VISA资源名称 按名称解除捆绑 函数存放位置 思维导图 主体界面为以下 从创建好的“枚举…...

Linux下,用ufw实现端口关闭、流量控制(二)

本文是 网安小白的端口关闭实践 的续篇。 海量报文,一手掌握,你值得拥有,让我们开始吧~ ufw 与 iptables的关系 理论介绍: ufw(Uncomplicated Firewall)是一个基于iptables的前端工具&#xf…...

C#开发-集合使用和技巧(九)Join的用法

在C#中&#xff0c;IEnumerable 的 Join 方法用于根据键将两个序列中的元素进行关联。Join 方法通常用于执行类似于 SQL 中的内连接操作。以下是 Join 方法的基本用法&#xff1a; 基本语法 public static IEnumerable<TResult> Join<TOuter, TInner, TKey, TResult…...

Dockerfile容器镜像构建技术

文章目录 1、容器回顾1_容器与容器镜像之间的关系2_容器镜像分类3_容器镜像获取的方法 2、其他容器镜像获取方法演示1_在DockerHub直接下载2_把操作系统的文件系统打包为容器镜像3_把正在运行的容器打包为容器镜像 3、Dockerfile介绍4、Dockerfile指令1_FROM2_RUN3_CMD4_EXPOSE…...

Github 2024-12-01 开源项目月报 Top20

根据Github Trendings的统计,本月(2024-12-01统计)共有20个项目上榜。根据开发语言中项目的数量,汇总情况如下: 开发语言项目数量Python项目10TypeScript项目9Go项目2HTML项目1Shell项目1Jupyter Notebook项目1屏幕截图转代码应用 创建周期:114 天开发语言:TypeScript, Py…...

Spring Boot 3项目集成Swagger3教程

Spring Boot 3项目集成Swagger3教程 ?? 前言 欢迎来到我的小天地&#xff0c;这里是我记录技术点滴、分享学习心得的地方。?? ?? 技能清单 编程语言&#xff1a;Java、C、C、Python、Go、前端技术&#xff1a;Jquery、Vue.js、React、uni-app、EchartsUI设计: Element-u…...

NISP信息安全一级考试200道;免费题库;大风车题库

下载链接&#xff1a;大风车题库-文件 大风车题库网站&#xff1a;大风车题库 大风车excel&#xff08;试题转excel&#xff09;&#xff1a;大风车excel...

Android ConstraintLayout 约束布局的使用手册

目录 前言 一、ConstraintLayout基本介绍 二、ConstraintLayout使用步骤 1、引入库 2、基本使用&#xff0c;实现按钮居中。相对于父布局的约束。 3、A Button 居中展示&#xff0c;B Button展示在A Button正下方&#xff08;距离A 46dp&#xff09;。相对于兄弟控件的约束…...

在网安中什么是白帽子

在网络安全领域&#xff0c;白帽子是指那些专门从事网络安全研究&#xff0c;帮助企业或个人发现并修复安全漏洞的专家。以下是对白帽子的详细解释&#xff1a; 一、定义与角色 白帽子是网络安全领域的术语&#xff0c;通常指那些具备专业技能和知识的网络安全专家。他们的工作…...

软件专业科目难度分级 你输在了哪里?

感想&#xff1a; 我把我们现在软件专业学的东西分了个难度级别 级别描述视角服务对象例子0 基本软件的使用用户-Photoshop wps ssms等1 软件的原理开发者用户各种编程语言2软件的原理的原理开发者开发者各种函数的深层定义&#xff0c;数据结构等 0级就是咱们平时用的那些软…...

微信小程序实现图片拖拽调换位置效果 -- 开箱即用

在编写类似发布朋友圈功能的功能时&#xff0c;需要实现图片的拖拽排序&#xff0c;删除图片等功能。 博主的小程序首页也采用了该示例代码&#xff0c;可以在威信中搜索&#xff1a; 我的百宝工具箱 或者复制后面的&#x1f517;在手机打开&#xff1a; #小程序://百宝工具箱/…...

关于“浔川AI翻译”使用情况的调研报告

关于“浔川 AI 翻译”使用情况的调研报告 随着全球化进程加速及外语学习需求攀升&#xff0c;AI 翻译工具愈发普及。“浔川 AI 翻译”作为行业产品之一&#xff0c;为了解其市场表现与用户反馈&#xff0c;特开展本次问卷调查&#xff0c;现将关键结果汇报如下。 一、样本概…...

《芯片:科技之核,未来之路》

《芯片&#xff1a;科技之核&#xff0c;未来之路》 一、芯片的定义与重要性二、芯片的应用领域&#xff08;一&#xff09;新能源领域&#xff08;二&#xff09;信息通讯设备领域&#xff08;三&#xff09;4C 产业&#xff08;四&#xff09;智能电网领域&#xff08;五&…...

️ 在 Windows WSL 上部署 Ollama 和大语言模型的完整指南20241206

&#x1f6e0;️ 在 Windows WSL 上部署 Ollama 和大语言模型的完整指南 &#x1f4dd; 引言 随着大语言模型&#xff08;LLM&#xff09;和人工智能的飞速发展&#xff0c;越来越多的开发者尝试在本地环境中部署大模型进行实验。然而&#xff0c;由于资源需求高、网络限制多…...

使用Tomcat搭建简易文件服务器

创建服务器 1. 复制一个tomcat服务器&#xff0c;并命名为file-service(好区分即可) 2.在webapp里面新建一个文件夹 uploadfiles ,用于存储上传的文件 3. 修改conf/service.xml,配置文件服务器的端口与上传文件夹的访问 在Host标签之间加入一个Context标签 docBase"uploa…...

uni-app学习笔记二十二---使用vite.config.js全局导入常用依赖

在前面的练习中&#xff0c;每个页面需要使用ref&#xff0c;onShow等生命周期钩子函数时都需要像下面这样导入 import {onMounted, ref} from "vue" 如果不想每个页面都导入&#xff0c;需要使用node.js命令npm安装unplugin-auto-import npm install unplugin-au…...

【AI学习】三、AI算法中的向量

在人工智能&#xff08;AI&#xff09;算法中&#xff0c;向量&#xff08;Vector&#xff09;是一种将现实世界中的数据&#xff08;如图像、文本、音频等&#xff09;转化为计算机可处理的数值型特征表示的工具。它是连接人类认知&#xff08;如语义、视觉特征&#xff09;与…...

LLM基础1_语言模型如何处理文本

基于GitHub项目&#xff1a;https://github.com/datawhalechina/llms-from-scratch-cn 工具介绍 tiktoken&#xff1a;OpenAI开发的专业"分词器" torch&#xff1a;Facebook开发的强力计算引擎&#xff0c;相当于超级计算器 理解词嵌入&#xff1a;给词语画"…...

零基础设计模式——行为型模式 - 责任链模式

第四部分&#xff1a;行为型模式 - 责任链模式 (Chain of Responsibility Pattern) 欢迎来到行为型模式的学习&#xff01;行为型模式关注对象之间的职责分配、算法封装和对象间的交互。我们将学习的第一个行为型模式是责任链模式。 核心思想&#xff1a;使多个对象都有机会处…...

select、poll、epoll 与 Reactor 模式

在高并发网络编程领域&#xff0c;高效处理大量连接和 I/O 事件是系统性能的关键。select、poll、epoll 作为 I/O 多路复用技术的代表&#xff0c;以及基于它们实现的 Reactor 模式&#xff0c;为开发者提供了强大的工具。本文将深入探讨这些技术的底层原理、优缺点。​ 一、I…...

dify打造数据可视化图表

一、概述 在日常工作和学习中&#xff0c;我们经常需要和数据打交道。无论是分析报告、项目展示&#xff0c;还是简单的数据洞察&#xff0c;一个清晰直观的图表&#xff0c;往往能胜过千言万语。 一款能让数据可视化变得超级简单的 MCP Server&#xff0c;由蚂蚁集团 AntV 团队…...

嵌入式学习笔记DAY33(网络编程——TCP)

一、网络架构 C/S &#xff08;client/server 客户端/服务器&#xff09;&#xff1a;由客户端和服务器端两个部分组成。客户端通常是用户使用的应用程序&#xff0c;负责提供用户界面和交互逻辑 &#xff0c;接收用户输入&#xff0c;向服务器发送请求&#xff0c;并展示服务…...

全面解析数据库:从基础概念到前沿应用​

在数字化时代&#xff0c;数据已成为企业和社会发展的核心资产&#xff0c;而数据库作为存储、管理和处理数据的关键工具&#xff0c;在各个领域发挥着举足轻重的作用。从电商平台的商品信息管理&#xff0c;到社交网络的用户数据存储&#xff0c;再到金融行业的交易记录处理&a…...

【Linux】Linux安装并配置RabbitMQ

目录 1. 安装 Erlang 2. 安装 RabbitMQ 2.1.添加 RabbitMQ 仓库 2.2.安装 RabbitMQ 3.配置 3.1.启动和管理服务 4. 访问管理界面 5.安装问题 6.修改密码 7.修改端口 7.1.找到文件 7.2.修改文件 1. 安装 Erlang 由于 RabbitMQ 是用 Erlang 编写的&#xff0c;需要先安…...

​​企业大模型服务合规指南:深度解析备案与登记制度​​

伴随AI技术的爆炸式发展&#xff0c;尤其是大模型&#xff08;LLM&#xff09;在各行各业的深度应用和整合&#xff0c;企业利用AI技术提升效率、创新服务的步伐不断加快。无论是像DeepSeek这样的前沿技术提供者&#xff0c;还是积极拥抱AI转型的传统企业&#xff0c;在面向公众…...