Преобразование хэш-кода Python UUID в переполнение стека

Я пытаюсь портировать большой кусок кода Python на php — при этом я нашел одну строку, для которой я не могу найти эквивалент:

    instance = resp.get(
'instance',
uuid.uuid4().hex.encode('utf-8')
)

sha = hashlib.sha1(
self.username.encode('utf-8') + instance
)
self.params.update({'id': sha.hexdigest().upper()})

я обнаружил https://github.com/ramsey/uuid сгенерировать uuid4 и попытаться подражать выше так:

    if (isset($resp['instance']))
{
$instance = $resp['instance'];
}
else
{
$uuid4 = Uuid::uuid4();
$instance = utf8_encode(dechex($uuid4->toString()));
}

$sha = sha1(utf8_encode($this->username) . $instance);

$this->params['id'] = strtoupper($sha);

Это, кажется, не дает такие же результаты. Может ли кто-нибудь помочь мне получить такой же результат в php, как в python. Благодарю.

1

Решение

Оказывается, что функция dechex не совпадает с гексом питона.
В этом случае результатом шестнадцатеричной функции было удаление тире из uuid. Решил это с помощью str_replace.

0

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

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

По вопросам рекламы [email protected]