Код:
Функция GoogleAuthenticatorCode (строка секрет)
Ключ: = base32decode (секрет)
сообщение: = текущее время Unix ч 30
Хэш: = HMAC-SHA1 (ключ, сообщение)
смещение: = последний клев хэш
truncatedHash: = хеш [offset..offset + 4] // 4 байта, начиная с смещения
Установите первый бит truncatedHash нулю // удалить наиболее significat бит
Код: = truncatedHash мод 1000000
колодок код с 0 до тех пор, длина кода не является 6
код возврата
Ключ: = base32decode (секрет)
сообщение: = текущее время Unix ч 30
Хэш: = HMAC-SHA1 (ключ, сообщение)
смещение: = последний клев хэш
truncatedHash: = хеш [offset..offset + 4] // 4 байта, начиная с смещения
Установите первый бит truncatedHash нулю // удалить наиболее significat бит
Код: = truncatedHash мод 1000000
колодок код с 0 до тех пор, длина кода не является 6
код возврата
Можно ли написать программу, которая генерирует приложение Google Authenticator одноразовых паролей на TI89? Было бы слишком трудно синхронизировать время? Будет ли это займет слишком много времени, чтобы сгенерировать одноразовый пароль?