MAC算法之消息摘要算法HmacMD5的实现

这篇文章主要介绍了MAC算法之消息摘要算法HmacMD5的实现的相关资料,这里提供实例,帮助大家学习理解这部分知识,需要的朋友可以参考下

MAC算法之消息摘要算法HmacMD5的实现

MAC算法主要用于消息验证

以下为算法实现:

import javax.crypto.KeyGenerator; import javax.crypto.Mac; import javax.crypto.SecretKey; import javax.xml.bind.annotation.adapters.HexBinaryAdapter; public class Main { static String src = "Hello,sahadev!"; public static void main(String[] args) { HmacMD5(); } public static void HmacMD5() { try { // 获取密钥生成器 KeyGenerator keyGenerator = KeyGenerator.getInstance("HmacMD5"); // 生成密钥 SecretKey generateKey = keyGenerator.generateKey(); // 获取"Message Authentication Code" (MAC) algorithm实例 Mac instance = Mac.getInstance(generateKey.getAlgorithm()); // 根据生产的密钥初始化该实例 instance.init(generateKey); // 加密消息 byte[] doFinal = instance.doFinal(src.getBytes()); // 输出加密后的消息 System.out.println("HmacMD5 : " + new HexBinaryAdapter().marshal(doFinal)); } catch (Exception e) { e.printstacktrace(); } } }

以上就是MAC算法之消息摘要算法HmacMD5的实现,如有疑问请留言或者到本站社区交流讨论,感谢阅读,希望能帮助到大家,谢谢大家对本站的支持

相关文章

Java中的String是不可变对象 在面向对象及函数编程语言中,不...
String, StringBuffer 和 StringBuilder 可变性 String不可变...
序列化:把对象转换为字节序列的过程称为对象的序列化. 反序...
先说结论,是对象!可以继续往下看 数组是不是对象 什么是对...
为什么浮点数 float 或 double 运算的时候会有精度丢失的风险...
面试题引入 这里引申出一个经典问题,看下面代码 Integer a ...