MAC是消息摘要算法的第三种实现方式,另外两种方式分别为:MD2\4\5、SHA。
MAC的jdk实现:1、默认密钥方式
private static void MAC_JDK(){
try {
KeyGenerator keyGenerator = KeyGenerator.getInstance("HmacMD5");//初始化KeyGenerator
SecretKey secretKey = keyGenerator.generateKey();//产生密钥
byte[] key = secretKey.getEncoded();//获得默认密钥
SecretKey restorSecretKey = new SecretKeySpec(key, "HmacMD5");//还原密钥
Mac mac = Mac.getInstance(restorSecretKey.getAlgorithm());//示例化MAC
mac.init(restorSecretKey);//初始化MAC
byte[] hmacMD5Bytes = mac.doFinal(src.getBytes());//执行摘要
System.out.println("hmacMD5Byte : "+Hex.encodeHexString(hmacMD5Bytes));
} catch (Exception e) {
e.printStackTrace();
}
}
2、动态密钥方式:
private static void MAC_JDK_dongtai(){
try {