关于PHPpython使用的CRC32函数
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了关于PHPpython使用的CRC32函数相关的知识,希望对你有一定的参考价值。
当web服务器和app服务器通信时,往往两端使用的是不同语言。例如这次我碰上的就是php和c。
php作为高级语言,各种方便的库函数一应俱全,在php的crc32函数调用过程中,只需要一个参数:被校验数据就行了。
但是在C语言中却不一样,crc32函数原型是 unsigned int crc32(unsigned int crc,unsigned char *buf,int size) 三个形参分别是生成多项式,被校验数据,被校验数据长度。返回值是crc校验码
那么问题来了,当web端使用php的crc32函数校验时,app服务器该使用什么参数来校验web传输的数据呢?
我找了很多资料,有说是crc32标准生成多项式0x4c11db7,有说是0xffffffff,尝试以后都不对。
最后看了一篇资料,说php在crc校验以后取反一次,用0xffffffff再试一次,OK,对了!
以上是关于关于PHPpython使用的CRC32函数的主要内容,如果未能解决你的问题,请参考以下文章
可以使用 CRC32C 作为基础构造一个“好”的哈希函数吗?