Open gitgoodboy opened 1 year ago
How to verify something like this?
PHP
$privkey = "-----BEGIN EC PRIVATE KEY----- MHQCAQEEIElP6IpLbE3Jd7KdBjlHtgtJfcZ94/OEkCoIsl/iV8q8oAcGBSuBBAAK oUQDQgAECQ5QVzipmVe7SUco3rzOgvaO+f70wN5jVVHDK2bSVY1OV3OCW0UZmSjU az/p1DNMYv9tcjPUuPwf+eCtxXSepg== -----END EC PRIVATE KEY----- "; openssl_sign(bin2hex($data), $sign, $privkey, OPENSSL_ALGO_SHA256); $sign = base64_encode($sign);
This always returns false:
Typescript
const data: string = json_response["data"]; const sign64: string = json_response["sign64"]; let EC = require('elliptic').ec; let ec = new EC('secp256k1'); let key = ec.keyFromPublic("04090e505738a99957bb494728debcce82f68ef9fef4c0de635551c32b66d2558d4e5773825b45199928d46b3fe9d4334c62ff6d7233d4b8fc1ff9e0adc5749ea6", 'hex'); let sign = Buffer.from(sign64, "base64").toString("hex"); let datahex = Buffer.from(data, "utf-8").toString("hex"); console.log(key.verify(datahex, sign));
I suggested a change to REAME.md. You must hash your data manually.
How to verify something like this?
PHP
This always returns false:
Typescript