/Auth_sprint_5

Спринт 5

Primary LanguagePython

Auth_sprint_5

Задача

Предположим, вам достался онлайн-кинотеатр с устаревшими механизмами хранения информации о пользователях. Как оказалось, пользователи могут создавать пароли длиной ровно 6 символов. При этом там могут быть буквы английского алфавита и цифры. Однако, авторы приложения допустили ошибку: все буквы приводятся к нижнему регистру. В самой системе используется MD5 для хеширования паролей. Вам поручено обосновать бизнесу необходимость переработки этой системы. Докажите, что пароли легко взломать. Напишите скрипт, который с помощью brute-force-атаки найдёт оригинальный пароль к трём хешам:

3bd0a32f99a0185c8a8f4af9ccff90ae
8bad66e16b191a1f779f4c9f9f0955ea
6467b3d4f0176029b582280342c83d33 

Каждая функция получена с помощью следующего кода:

from hashlib import md5

password_hash = md5(password.encode()).hexdigest() 

Дополнительно вам поручили сделать так, чтобы скрипт во время работы выдавал прогресс по взлому паролей. Для этого прекрасно подходит библиотека tqdm. Если удалось найти все пароли, нужно сразу выдать 100%.

Запуск скрипта перебора

source venv/bin/activate
python3 run.py

Искомые хеши находятся в файле hashes.txt