php的DES CBC消息验证方法

WBOY
풀어 주다: 2016-06-23 14:20:21
원래의
1180명이 탐색했습니다.

MAC DEC CBC

最近有个项目,发送信息的时候要用到MAC(Message Authentication Code),用DES CBC算法。
网上查了一下,大概意思就是给 要给数据 计算出个校验码,同数据本身一起发送出去,对端根据校验码确认数据是否被篡改过。

想问问,PHP中有没有函数可以直接实现这个功能,自己写函数的话又是分段、又是异或、又是加密的头都大了。我看有mcrypt_cbc 这么个函数,不知道有没有关系。

请高手帮忙!最好能给个示例说明下,或者指个方向。

回复讨论(解决方案)

mcrypt_cbc

使用 CBC 将资料加/解密。

语法: string mcrypt_cbc(int cipher, string key, string data, int mode, string [iv]);

返回值: 字符串

函数种类: 编码处理

内容说明

本函数使用 CBC 密码检索本 (cipher block chaining),将资料加密及解密。参数 cipher 为加/解密方式,例如 MCRYPT_TripleDES。参数 key 是密码钥匙,当然要注意保持它的机密性。欲加密或解密的字符串就放在参数 data 之中。参数 mode 表示加密 MCRYPT_ENCRYPT 或是解密 MCRYPT_DECRYPT。参数 iv 是可省略的参数,代表向量初始化 (Initialization vector, IV)。

原谅我复制官方说明,不过单纯从解释来看,这是一个加密用的函数。根据你的需求,虽然可以产生一个密文,然后把KEY也一起发过去,对端对发送过来的明文用同样的KEY再加密,比较密文,是可以达到校验的目的。但是KEY传输就失去了安全性。相对简单的,MD5似乎更加容易吧。因为不需要key。

원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿