gpt4 book ai didi

php - Python 中 PHP 对象的相同哈希值

转载 作者:太空宇宙 更新时间:2023-11-04 02:20:10 27 4
gpt4 key购买 nike

我有一个小问题:一方面,我有一个解析器,它接受一个字符串,将其包装到一个 PHP 对象中并返回该对象的散列字符串。另一方面,一个新版本的解析器是用 Python 编写的,新的解析器接受一个字符串,对其进行哈希处理,然后也作为一个字符串返回。

我遇到了兼容性问题。 相同的字符串散列为 PHP 对象和散列为字符串返回不同的结果。有没有办法在 python 中获取 PHP 对象,以获得与 PHP 解析器中完全相同的结果?这里有一些代码:

PHP:

function num_converter() {
$string_1 = '1234';
$string_2 = '567890';

$hash = String_to_hash::stringHash((object)array(
'number'=>$string_1.' '.$string_2,
'number2'=>$number3,
));
return array_push($Reply, $hash);
}

下面是 Python 中的相同功能代码:

def num_converter():
string_1 = '1234'
string_2 = '567890'
number3 = digits # type of int

string_to_hash = string_1 + " " + string_2 + str(number3)
return hashlib.md5(string_to_hash.encode()).hexdigest().upper()

最佳答案

确保使用相同的哈希算法。例如:

PHP

php > echo hash('sha512', 'foo');

结果:f7fbba6e0636f890e56fbbf3283e524c6fa3204ae298382d624741d0dc6638326e282c41be5e4254d8820772c5518a2c5a8c0c7f7eda19594a7eb539453e1ed7

python

import hashlib
hashlib.sha512(b'foo').hexdigest()

结果:'f7fbba6e0636f890e56fbbf3283e524c6fa3204ae298382d624741d0dc6638326e282c41be5e4254d8820772c5518a2c5a8c0c7f7eda19594a7eb539453e1ed7'

关于php - Python 中 PHP 对象的相同哈希值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51820964/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com