php的DES CBC消息验证方法
程序员文章站
2024-02-18 15:11:58
...
MAC DEC CBC 最近有个项目,发送信息的时候要用到MAC(Message Authentication Code),用DES CBC算法。
网上查了一下,大概意思就是给 要给数据 计算出个校验码,同数据本身一起发送出去,对端根据校验码确认数据是否被篡改过。
想问问,PHP中有没有函数可以直接实现这个功能,自己写函数的话又是分段、又是异或、又是加密的头都大了。我看有mcrypt_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完美的rss 生成类
推荐阅读
-
php实现汉字验证码和算式验证码的方法,php汉字验证码算式_PHP教程
-
thinkphp验证码显示不出来的解决方法_php实例
-
ThinkPHP自动验证失败的解决方法_PHP
-
js和php邮箱地址验证的实现方法
-
PHP生成验证码时“图像因其本身有错无法显示”的解决方法
-
finfo_file函数获取文件mime值验证出错的解决方法_PHP教程
-
PHP加密3DES报错 Call to undefined function: mcrypt_module_open() 的解决方法,mcryptmoduleopen
-
php实现汉字验证码和算式验证码的方法
-
php中使用base HTTP验证的方法,phpbase_PHP教程
-
编写php应用程序实现摘要式身份验证的方法详解