Тот же хеш объекта PHP в Python

У меня небольшая проблема:
С одной стороны, у меня есть парсер, который берет строку, оборачивает ее в объект PHP и возвращает хеш-строку этого объекта.
С другой стороны, новая версия синтаксического анализатора написана на Python, и новый синтаксический анализатор берет строку, хеширует ее и возвращает также в виде строки.

И там у меня есть проблема с совместимостью. Та же строка хешируется как объект PHP и хешируется как возвращаемая строка другой результат. Есть ли способ получить объект PHP в Python, чтобы получить точно такой же результат, как в 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()

2

Решение

Убедитесь, что вы используете тот же алгоритм хеширования. Например:

PHP

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

Результат: f7fbba6e0636f890e56fbbf3283e524c6fa3204ae298382d624741d0dc6638326e282c41be5e4254d8820772c5518a2c5a8c0c7f7eda19594a7eb539453e1ed7

питон

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

Результат: 'f7fbba6e0636f890e56fbbf3283e524c6fa3204ae298382d624741d0dc6638326e282c41be5e4254d8820772c5518a2c5a8c0c7f7eda19594a7eb539453e1ed7'

2

Другие решения

Других решений пока нет …

По вопросам рекламы ammmcru@yandex.ru
Adblock
detector