首页 > 代码库 > MAC信息摘要
MAC信息摘要
MAC(Message Authentication Code ,消息认证码算法)是含有密钥散列函数算法,兼容MD和SHA算法的特性,并在此基础上加入了密钥。因此,MAC也称为HMAC。
MAC算法集合了MD和SHA两大系列消息摘要算法。MD系列有HmacMD2、HmacMD4、HmacMD5三种算法。SHA系列的有HmacSHA1、HmacSHA224、HmacSHA256、HmacSHA384、HmacSHA512这五种算法。MAC算法摘要值的长度与具体的摘要算法的长度一直。
如HmacMD5即使对应MD5算法的摘要值长度128位。具体如下:
MAC算法的实现
1、Java 自带类实现
注意:Java自动类仅支持HmacMD5、HmacSHA1、HmacSHA256、HmacSHA384、HmacSHA512这几种算法
Mac算法是带有密钥的消息摘要算法,所以其实现分两步
1)创建密钥
2)获得消息摘要
具体实现代码如下:
/** *1、创建密钥 */ //创建对应摘要算法(如MD5\SHA1\SHA256等)密钥生成器对象KeyGenerator KeyGenerator keyGenerator = KeyGenerator.getInstance("HmacMD5"); //产生密钥 SecretKey secretKey = keyGenerator.generateKey(); //得到密钥的字节数组 //byte[] key = secretKey.getEncoded(); /** * 2、根据密钥产生mac摘要 */ //创建对应摘要算法(如MD5\SHA1\SHA256等)的Mac实例对象 Mac mac = Mac.getInstance(secretKey.getAlgorithm()); //初始化该mac实例对象的密钥 mac.init(secretKey); //获取mac摘要信息 byte[]result = mac.doFinal("中国".getBytes()); System.out.println(toHexString(result)); |
来自为知笔记(Wiz)
MAC信息摘要
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。