Подтвердить что ты не робот

Есть ли эквивалент PHP hash_hmac в Python/Django?

Я хочу направить своих посетителей на сторонний paysite. Эта сторонняя сторона обработает их платеж и POST ко мне 64-символьный токен, сгенерированный из уникального номера заказа и общего пароля, используя PHP hash_hmac, используя алгоритм sha256, например:

$token = hash_hmac("sha256", "12345", "sharedpassword");

Затем я хочу использовать тот же алгоритм на моем конце, чтобы сгенерировать (надеюсь) тот же токен, чтобы проверить, что пользователь заплатил. Проблема в том, что я не могу найти эквивалентную функцию или способ репликации функции в Python. Самое близкое, что я пришел, это Python hashlib, но, похоже, не существует функции, которая может принимать 2 аргумента - данные и общий пароль. Кто-нибудь знает об эквиваленте hash_hmac, который применим в этом случае?

4b9b3361

Ответ 1

Вы хотите hmac.

hmac.new("sharedpassword", "12345", hashlib.sha256).hexdigest()