消息摘要算法-MAC算法系列
来源:互联网 发布:wpf编程宝典 2010 编辑:程序博客网 时间:2024/05/18 00:29
一、简述
mac(Message Authentication Code,消息认证码算法)是含有密钥散列函数算法,兼容了MD和SHA算法的特性,并在此基础上加上了密钥。因此MAC算法也经常被称作HMAC算法。关于hmac算法的详情可以参看RFC 2104(http://www.ietf.org/rfc/rfc2104.txt),这里包含了HmacMD5算法的C语言实现。
这里需要说明的是经过mac算法得到的摘要值也可以使用十六进制编码表示,其摘要值得长度与实现算法的摘要值长度相同。例如 HmacSHA算法得到的摘要长度就是SHA1算法得到的摘要长度,都是160位二进制数,换算成十六进制的编码为40位。
二、模型分析
甲乙双方进行数据交换可以采取如下流程完成
1、甲方向乙方公布摘要算法(就是指定要使用的摘要算法名)
2、甲乙双方按照约定构造密钥,双方拥有相同的密钥(一般是一方构造密钥后通知另外一方,此过程不需要通过程序实现,就是双方约定个字符串,但是这个字符串可不是随便设定的,也是通过相关算法获取的)
3、甲方使用密钥对消息做摘要处理,然后将消息和生成的摘要消息一同发送给乙方
4、乙方收到消息后,使用甲方已经公布的摘要算法+约定好的密钥 对收到的消息进行摘要处理。然后比对自己的摘要消息和甲方发过来的摘要消息。甄别消息是否是甲方发送过来的
三、MAC系列算法支持表
四、sun以及bouncycastle的hmac算法实现
五、总结
1、sun支持了5中算法,但是不支持转成16进制,但是可以用commons codec或者bouncycastle的16进制转换协助进行转换
2、bouncycastle支持补充了三种算法,并支持16进制转换
- 消息摘要算法-MAC算法系列
- 消息摘要算法-MAC算法系列
- 消息摘要算法-MAC算法系列
- 消息摘要算法MAC实现与应用
- Base64算法,消息摘要算法-Base64,MD5,SHA,MAC加密
- Imooc_Java实现消息摘要算法加密_4-1 消息摘要算法MAC实现与应用
- 消息摘要算法简介
- OpenSSL: 消息摘要算法
- OpenSSL: 消息摘要算法
- 消息摘要算法加密
- 消息摘要算法-SHA
- Java消息摘要算法
- MD5 消息摘要算法
- 消息摘要算法简介
- 消息摘要算法
- 消息摘要算法
- 其他消息摘要算法
- 消息摘要算法概述
- linux下关闭xenbr,virbr服务
- 静态存储区、堆和栈的区别
- Paxos Made Simple [原文翻译版][转载]
- 关于在嵌入式linux系统中加载驱动程序
- 一个被爱伤透的女人,最简单的言语,透露出最傻的执着
- 消息摘要算法-MAC算法系列
- (转)VFW摄像头采集程序设计
- 在select中添加排名列的SQL语句
- (九)进程的生命周期(Processes and lifecycles)
- 什么是导入库文件(*.lib)
- 今天开始要认真写博客了
- poj2356——Find a multiple
- Jquery常用
- 网页制作基础:如何去掉超链接的下划线(转自:http://homepage.yesky.com/346/2551346.shtml)