Java中的mac计算

来源:互联网 发布:淘宝店铺在哪里买 编辑:程序博客网 时间:2024/04/30 02:41

          报文鉴别在身份认证中占重要位置,是认证系统的一个重要环节,在金融和商业系统中广泛应用。

          报文鉴别常用报文鉴别码(Message Authentication Code,即MAC)作为鉴别的基础,

          其基本原理是:用一个密钥((private Key))生成一个小数据块附加在要传输的报文后面。这种技术是假定通讯双方共享一个密钥K,当通讯的一方要给另一方传输数据M时,通过特定的算法计算出该报文M的MAC=F(K,M),这里的F就是指鉴别运算函数,然后报文数据M和MAC一起传送给另一方。当另一方收到数据时,先用同样的算法F计算MAC,和传输过来的MAC进行比较,如果相同,则认为数据是正确的。 鉴别函数常被认为是加密算法的一种,但是区别在于它不用于逆运算,有一定的安全性。 通常对于不同的应用系统采用各自特定的鉴别函数,这样在一定程度上保证了数据的安全性。

       从j2sdk1.4以后,java提供了类javax.crypto.Mac类报文鉴别

         

macCode 就是生成的Mac,用同样的密钥能产生同样的mac。

通讯双方只要保证用同样的密钥就能保证得到同样的Mac,达到报文验证的目的。

看来看去,这和网络上常用的checksum原理是一样的。

原创粉丝点击