Wenn ich den SHA-256-Hash in der Sprache "GO" generieren, bekomme ich ein anderes Byte-Array verglichen mit dem Java-Äquivalent.Go SHA-256-Hash unterscheidet sich von Java SHA-256-Hash
Dies ist die GO-Version:
fmt.Println(getSha256([]byte("5nonce=5")))
Das resultierende Array wie folgt aussieht:
41 79 186 235 199 123 95 226 16 59 51 161 112 245 192 50 21 66 180 250 179 109 153 18 233 148 16 237 156 69 163 150]
Dies man das gleiche in Java-Code tun soll:
MessageDigest md = MessageDigest.getInstance("SHA-256");
md.update("5nonce=5".getBytes());
byte[] digest = md.digest();
Aber Ergebnisse in Dieses Byte-Array
[41, 79, -70, -21, -57, 123, 95, -30, 16, 59, 51, -95, 112, -11, -64, 50, 21, 66, -76, -6, -77, 109, -103, 18, -23, -108, 16, -19, -100, 69, -93, -106]
Warum sind sie anders? Wie muss ich die Java-Version so ändern, dass sie genau wie die Go-Version funktioniert?
Dank, sie konvertieren zu base64 es macht viel einfacher, sie zu vergleichen, und sie sind identisch identisch. – jan