我在寻找Java相当于这个PHP呼叫:的Java相当于PHP的HMAC-SHA1
hash_hmac('sha1', "test", "secret")
我想这一点,使用java.crypto.Mac,但两人不同意:
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());
}
key =“secret”和test =“test”的输出似乎不匹配。
那么,他们有什么不同呢?哪一个匹配sha1的测试模式?粗略浏览PHP文档将显示“raw_output”选项。 – 2009-10-22 21:01:39
发布一些测试输入和输出(使用十六进制编码或base-64作为二进制参数)。 – erickson 2009-10-22 21:03:44