Fil*_*p Š 3 php digital-signature ethereum web3-donotuse
如何使用 PHP 验证以太坊签名的消息?
使用web3.personal.signWeb3.js 中的函数对消息进行签名,然后将签名发送到服务器。我如何用PHP验证它?
是否有一些预先构建的软件包(在 Packagist 上),还是我应该从头开始?是否可以在不连接到 RPC 节点或链(链外)的情况下执行此操作?
我已经在 Ethereum StackExchange 上发现了一些关于这个的问题,但它非常复杂而且有点旧,所以我想知道是否有更新更好的解决方案。
我也在GitHub 上找到了一些包,但我不知道它是否适用于web3.personal.sign.
我找到的一些链接:
使用包php-ecrecover可以验证签名消息。
您可以使用此包获取原始邮件地址,然后验证它是否与预期地址相同。
JS标志:
let message = 'Hello World!'
let address = web3.eth.coinbase
web3.personal.sign(web3.fromUtf8(message), address, console.log);
Run Code Online (Sandbox Code Playgroud)
PHP验证:
$address = '0xe12Aa5FB5659bb0DB3f488e29701fE303bcBAf65';
$message = 'Hello World!';
$signed = '0x2cb6b41177a5e6690ebbc61f182758fcf8f54403edcb848fc1089a772227d55163804b4dc7fcf72d15f0d977d741f6dd6bcc4fc4c74916378afcad06be77b2101b';
if ($address == personal_ecRecover($message, $signed)) {
echo 'Message verified';
} else {
echo 'Message not verified';
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1293 次 |
| 最近记录: |