Skip to content

Commit

Permalink
Update readme.md
Browse files Browse the repository at this point in the history
  • Loading branch information
AmazingAng authored Oct 19, 2024
1 parent 9f7e93a commit 01758f2
Showing 1 changed file with 1 addition and 1 deletion.
2 changes: 1 addition & 1 deletion 37_Signature/readme.md
Original file line number Diff line number Diff line change
Expand Up @@ -137,7 +137,7 @@ print(f"签名:{signed_message['signature'].hex()}")

为了验证签名,验证者需要拥有`消息``签名`,和签名使用的`公钥`。我们能验证签名的原因是只有`私钥`的持有者才能够针对交易生成这样的签名,而别人不能。

**4. 通过签名和消息恢复公钥:**`签名`是由数学算法生成的。这里我们使用的是`rsv签名``签名`中包含`r, s, v`三个值的信息,长度分别为32bytes,32bytes,1byte。而后,我们可以通过`r, s, v``以太坊签名消息`来求得`公钥`。下面的`recoverSigner()`函数实现了上述步骤,它利用`以太坊签名消息 _msgHash``签名 _signature`恢复`公钥`(使用了简单的内联汇编):
**4. 通过签名和消息恢复公钥:**`签名`是由数学算法生成的。这里我们使用的是`rsv签名``签名`中包含`r, s, v`三个值的信息,长度分别为32 bytes,32 bytes,1 byte。而后,我们可以通过`r, s, v``以太坊签名消息`来求得`公钥`。下面的`recoverSigner()`函数实现了上述步骤,它利用`以太坊签名消息 _msgHash``签名 _signature`恢复`公钥`(使用了简单的内联汇编):

```solidity
// @dev 从_msgHash和签名_signature中恢复signer地址
Expand Down

0 comments on commit 01758f2

Please sign in to comment.