simolus3 / web3dart

Ethereum library, written in Dart.
MIT License
441 stars 270 forks source link

Unable to verify Signature from signPersonalMessage or signToSignature method #212

Open WhiteCjy opened 2 years ago

WhiteCjy commented 2 years ago

final private = EthPrivateKey.fromHex(privakey);

final sign =await  private.signPersonalMessage(Uint8List.fromList(utf8.encode(message)));
final signed =await  private.signToSignature(Uint8List.fromList(utf8.encode(message)));

var pubKey=bytesToHex(private.publicKey.getEncoded().toList());

bool isV= isValidSignature(Uint8List.fromList(utf8.encode(message)),signed,hexToBytes(pubKey)); final adds= ecRecover(Uint8List.fromList(utf8.encode(message)), signed);

print("--验证签名--$isV----恢复数据签名帐户---"+bytesToHex(adds));
print("--publicKey--=----"+pubKey);

验证签名 is. false

ludowkm commented 2 years ago

hi @WhiteCjy , you can use this one to solve your issue https://pub.dev/packages/eth_sig_util