首页 > 代码库 > 关于PHP、python使用的CRC32函数

关于PHP、python使用的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,对了!

 

关于PHP、python使用的CRC32函数