Обновить

OTP тестированию не помеха

Важность unit и интеграционных тестов несомненна для более-менее опытного разработчика. В этом посте поделюсь как решить следующую задачу:
Дано:

1) endpoint api для которого нужене OTP (one time password)

2) QR код экспорта из google authenticator

Найти: автоматически получать OTP и отправлять его endpoint-у

Решение:

1) Сканируем QR код любым сканером QR кодов, получаем что-то вроде 'otpauth-migration://offline?data=CjIKFEuKYhr.....' , обозначим это за url.
2) Этот url надо раскодировать, есть несколько вариантов как это сделать привожу довольно просто (минимум телодвижений) https://github.com/qistoph/otp_export . Клонируем и выполняем команду
./parse.py 'url'
вывод будет содержать secret это Base32 строчка-ключ обозначим за secret.

3) Осталось выбрать библиотеку для вашего языка реализующую RFC4226/RFC6238 и с помощью sercret и текущего времени в мс. получить OTP

Привожу пример на dart :
Пакет https://pub.dev/packages/otp
Вызов: final code = OTP.generateTOTPCodeString(secret, date.millisecondsSinceEpoch,algorithm: Algorithm.SHA1, isGoogle: true);

Теги:
Рейтинг0
Комментарии0

GPT-6 Astra помогла прочесть зашифрованную Enigma немецкую радиограмму 1941 года — над ней бились 21 год

Сотрудник Bloomberg Картер Леффен с помощью GPT-6 Astra расшифровал немецкую военную радиограмму MVUEH от 10 июля 1941 года. Сообщение состояло всего из 82 зашифрованных символов и находилось в коллекции исследовательского проекта CryptoCellar. По словам его куратора, специалиста по Enigma Фроде Вайеруда, попытки подобрать к нему ключ предпринимались с 2005 года — безуспешно.

Иногда эту историю уже пересказывают как «шифр не могли разгадать 83 года», но на самом деле неизвестно, пытался ли кто‑нибудь расшифровать именно эту радиограмму в течение большей части времени после войны. В современный криптоаналитический проект сообщение попало значительно позже. Вайеруд говорит вполне конкретно: MVUEH сопротивлялась попыткам расшифровки с 2005 года.

Леффен дал GPT-6 Astra в режиме Extra High довольно общую задачу — изучить оставшиеся нерасшифрованными сообщения из коллекции CryptoCellar и попробовать взломать одно из них. По рассказу самого Леффена, непосредственно работа модели до нахождения решения заняла около десяти часов. Всё исследование вместе с разбором источников, дополнительными проверками и воспроизведением результата шло 14 и 15 сентября.

GPT-6 Astra помогла прочесть зашифрованную Enigma немецкую радиограмму 1941 года — над ней бились 21 год

Публикации