You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Thank you very much for your reply. My code is too old.
This is my local code.
public byte[] toByteArray() {
final byte fixedV = this.v >= 27
? (byte) (this.v - 27)
: this.v;
return ByteUtil.merge(
ByteUtil.bigIntegerToBytes(this.r),
ByteUtil.bigIntegerToBytes(this.s),
new byte[]{fixedV});
}
This is latest code.
public byte[] toByteArray() {
final byte fixedV = this.v >= 27
? (byte) (this.v - 27)
: this.v;
return ByteUtil.merge(
ByteUtil.bigIntegerToBytes(this.r, 32),
ByteUtil.bigIntegerToBytes(this.s, 32),
new byte[]{fixedV});
}
@test
public void verifyTest() {
String pri = "87385e10d018f971f66cf2c065663d4aa427286f259f85bb8b2438130f4f1ee7";
String sourceHash = "7d50e029128286afba20cb62cf1b874d76a527a896f3d39167289a9b0446c518";
ECKey ecKey = ECKey.fromPrivate(Hex.decode(pri));
byte[] sign = ecKey.sign(Hex.decode(sourceHash)).toByteArray();
System.out.println(sign.length);
}
The result is always 64 not 65 bytes.
The text was updated successfully, but these errors were encountered: