package com.zit;
import java.security.NoSuchAlgorithmException;
import javax.crypto.KeyGenerator;
import javax.crypto.Mac;
import javax.crypto.SecretKey;
import javax.crypto.spec.SecretKeySpec;
import org.apache.commons.codec.binary.Hex;
import com.sun.crypto.provider.HmacMD5;
public class HmacTest {
private static String src = "hello hmac";
public static void main(String[] args) {
jdkHmacMD5();
}
public static void jdkHmacMD5() {
try {
KeyGenerator keyGenerator = KeyGenerator.getInstance("HmacMD5");// 初始化KeyGenerator
SecretKey secretKey = keyGenerator.generateKey();// 產生祕鑰
byte[] key = secretKey.getEncoded();// 獲得祕鑰(默認生成)
// byte[]key=Hex.decodeHex(new
// char[]{'a','a','a','a','a','a','a','a','a','a'});//手動生成祕鑰(十位)
SecretKey secretKey2 = new SecretKeySpec(key, "HmacMD5");// 還原祕鑰
Mac mac = Mac.getInstance(secretKey2.getAlgorithm());// 實例化mac
// 初始化mac
mac.init(secretKey);
byte[] hmacMD5Bytes = mac.doFinal(src.getBytes());
System.out.println("jdk hmacMD5: " + Hex.encodeHexString(hmacMD5Bytes));
} catch (Exception e) {
e.printStackTrace();
}
}
}
hMac加密
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.