标签:ffffff 高级 web服务 函数 unsigned 传输 服务 sig 取反
当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,对了!
标签:ffffff 高级 web服务 函数 unsigned 传输 服务 sig 取反
原文地址:http://www.cnblogs.com/Camelot/p/6672723.html