如何解决在 elliptic-php 上验证签名失败,错误是“无法初始化”
我正在尝试使用 elliptic-php 库来验证签名,但出现错误:无法初始化。这是我的代码:
<?php
public static function verifySignature($hash,$signature,$address) {
try {
$sign = [
"r" => substr($signature,64),"s" => substr($signature,64,];
$reCid = ord(hex2bin(substr($signature,128,2)));
if ($reCid != ($reCid & 1)) {
return false;
}
$ec = new EC('secp256k1');
$publicKey = $ec->recoverPubKey($hash,$sign,$reCid);
return $address = self::pubKeyToAddress($publicKey);
}catch (\Exception $exception) {
throw new HashException($exception->getCode(),$exception->getMessage());
}
}
verifySignature("c230e229e1e7edd299b4c142ac105a84df7c114ef1d6c538ee9e8461f70b2ad3",""W6AdiMNBTRb/a9oa43CFnL+UjpdhJ4QuxfnVQuTY8EB0RQQ2pvWEeIF9c5oMrokVrCmtBiXe4vW3Fvu+mIZ2bwA=","0x38737be4bb9bdB44Fa4367935E087Dad925CE172");
?>
我跟踪了错误,发现它在执行时抛出了
$ec->recoverPubKey($hash,$reCid);
你能告诉我是否有人知道原因吗?
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。