szukam odpowiednik Java do niniejszego zaproszenia PHP:java równoważne PHP HMAC-SHA1
hash_hmac('sha1', "test", "secret")
Próbowałem to, używając java.crypto.Mac, ale dwa nie zgadzają się:
String mykey = "secret";
String test = "test";
try {
Mac mac = Mac.getInstance("HmacSHA1");
SecretKeySpec secret = new SecretKeySpec(mykey.getBytes(),"HmacSHA1");
mac.init(secret);
byte[] digest = mac.doFinal(test.getBytes());
String enc = new String(digest);
System.out.println(enc);
} catch (Exception e) {
System.out.println(e.getMessage());
}
Wyjścia z kluczem = "secret" i test = "test" nie wydają się pasować.
Cóż, jak one się różnią? Który pasuje do wzorów testowych dla sha1? Rzut oka na dokument PHP pokazuje opcje "raw_output". –
Opublikuj dane wejściowe i wyjściowe testu (użyj kodowania szesnastkowego lub base-64 dla parametrów binarnych). – erickson