返回介绍

web3.eth.accounts.recover - 提取数据的签名账户

发布于 2020-01-19 11:52:17 字数 1923 浏览 1574 评论 0 收藏 0

从给定的已签名数据中回复用来进行签名的以太坊地址。

调用:

web3.eth.accounts.recover(signatureObject);
web3.eth.accounts.recover(message, signature [, preFixed]);
web3.eth.accounts.recover(message, v, r, s [, preFixed]);

参数:

  • message|signatureObject - String|Object: 已签名消息或消息哈希,或者是如下的签名对象:
    • messageHash - String: 给定消息的哈希,已加前缀 "\x19Ethereum Signed Message:\n" + message.length + message.
    • r - String: 签名的前32字节
    • s - String: 签名的后32字节
    • v - String: 恢复值 + 27
  • signature - String: RLP编码的签名,或者2-4参数分别是 v, r, s
  • preFixed - Boolean ,可选,默认值为false。如果该值为true,则给定的消息不会自动添加前缀 "\x19Ethereum Signed Message:\n" + message.length + message

返回值:

String: 用于签名的以太坊地址

示例代码:

web3.eth.accounts.recover({
    messageHash: '0x1da44b586eb0729ff70a73c326926f6ed5a25f5b056e7f47fbc6e58d86871655',
    v: '0x1c',
    r: '0xb91467e570a6466aa9e9876cbcd013baba02900b8979d43fe208a4a4f339f5fd',
    s: '0x6007e74cd82e037b800186422fc2da167c747ef045e5d18a5f5d4300f8e1a029'
})
> "0x2c7536E3605D9C16a7a3D7b1898e529396a65c23"

// hash signature
web3.eth.accounts.recover('0x1da44b586eb0729ff70a73c326926f6ed5a25f5b056e7f47fbc6e58d86871655', '0xb91467e570a6466aa9e9876cbcd013baba02900b8979d43fe208a4a4f339f5fd6007e74cd82e037b800186422fc2da167c747ef045e5d18a5f5d4300f8e1a0291c');
> "0x2c7536E3605D9C16a7a3D7b1898e529396a65c23"

// hash, v, r, s
web3.eth.accounts.recover('0x1da44b586eb0729ff70a73c326926f6ed5a25f5b056e7f47fbc6e58d86871655', '0x1c', '0xb91467e570a6466aa9e9876cbcd013baba02900b8979d43fe208a4a4f339f5fd', '0x6007e74cd82e037b800186422fc2da167c747ef045e5d18a5f5d4300f8e1a029');
> "0x2c7536E3605D9C16a7a3D7b1898e529396a65c23"

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。
列表为空,暂无数据
    我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
    原文