Я думаю, проблема связана с кодировкой секретного ключа. В настоящее время я использую его в сыром виде:
Код: Выделить всё
secret = "12345678901234567890".encode()
Код: Выделить всё
secret = base64.b32encode(b"12345678901234567890")
Я не очень разбираюсь в кодировании, связанном с безопасностью, поэтому я не до конца понимаю требуемый формат секретного ключа. Я подозреваю, что проблема в основном связана с тем, как я изначально закодировал секретный ключ перед использованием его в функции HMAC.
Я внимательно следил за алгоритмом, поэтому сомневаюсь, что есть проблемы в коде, генерирующем TOTP, тем более, что он создает правильные коды для sha1.
Я был бы очень признателен за любую помощь!
Подробнее здесь: https://stackoverflow.com/questions/798 ... r-than-sha
Мобильная версия