Python比纳西.crc32()到PHP crc()

2024-05-14 01:28:51 发布

您现在位置:Python中文网/ 问答频道 /正文

我有一行Python,我想把它转换成PHP

code = '%08x' % (binascii.crc32(summ) & 0xffffffffL)

据我所知,binascii.crc32的php等价物是crc32(),我可能错了,但是{}使有符号整数为正,所以我将使用abs()

我试过了,但我没有得到任何输出,甚至没有一条错误消息

^{pr2}$

除了使用php,获得python输出的正确方法是什么?在

更新:

现在,我已经创建并运行了一个Python脚本和一个PHP等效脚本,输出稍微有点偏差。在

Python

import binascii

file = open("test.json","r")
source = file.read()

key1 = 'Y3xFZ4'
key2 = 'ABC123'

summ = bytes(source + key1 + key2, encoding='utf-8')

print (binascii.crc32(summ))

code = '%08x' % (binascii.crc32(summ) & 0xfffffff)

print (code)

file.close() 

输出

2416307871 0005ee9f

菲律宾比索

$json = '{ "name":"John", "age":30, "car":null }';

$summ = $json . 'Y3xFZ4' . 'ABC123';

$test = sprintf("%u", crc32($summ));

$code = dechex((float) $test);

echo $test . ' ' . $code;

输出

2416307871 9005ee9f

什么会导致最终输出开始时的差异


Tags: test脚本jsonsourcecodefilephpkey2