Python: взлом криптографической хеш-функции через BruteForce |
||||
МЕНЮ Искусственный интеллект Поиск Регистрация на сайте Помощь проекту ТЕМЫ Новости ИИ Искусственный интеллект Разработка ИИГолосовой помощник Городские сумасшедшие ИИ в медицине ИИ проекты Искусственные нейросети Слежка за людьми Угроза ИИ ИИ теория Внедрение ИИКомпьютерные науки Машинное обуч. (Ошибки) Машинное обучение Машинный перевод Реализация ИИ Реализация нейросетей Создание беспилотных авто Трезво про ИИ Философия ИИ Big data Работа разума и сознаниеМодель мозгаРобототехника, БПЛАТрансгуманизмОбработка текстаТеория эволюцииДополненная реальностьЖелезоКиберугрозыНаучный мирИТ индустрияРазработка ПОТеория информацииМатематикаЦифровая экономика
Генетические алгоритмы Капсульные нейросети Основы нейронных сетей Распознавание лиц Распознавание образов Распознавание речи Техническое зрение Чат-боты Авторизация |
2019-06-07 09:33 В этой статье мы разберём код программы на Python 3.6 с использованием BruteForce для взлома криптографической хеш-функции. Всё, что нам необходимо знать, чтобы сделать перебор по словарю, – это алгоритм хеш-функции, с помощью которого зашифрована информация (в нашем случае – простой текст). В программе будем использовать три алгоритма из библиотеки Работа с командной строкой Чтобы вызвать программу, перейдём в папку, где лежит исходник (main.py), словарь (будем использовать rockyou.txt, скачать его можно здесь) и файл с хеш-функцией (назовём его hash.txt). Аргументы командной строки имеют следующий вид:
К примеру, вызов программы с использованием алгоритма Разбираем код для взлома хеш-функции Код небольшой, поэтому я помещу его здесь, а дальше буду разбирать по строкам.
Первым делом из библиотеки В строке 12 добавляем линию, которая будет отображаться при выводе найденной фразы (сделано для красоты). В строках 14-18 инициализируем аргументы и проверяем их кол-во. Если при вводе в командную строку не обнаруживается какой-либо аргумент, выводится ошибка, а программа прекращает работу. Если не вывелось никакой ошибки, то на строках 20-22 открываем файл с хеш-функцией (hash.txt) и удаляем оттуда перенос строки – Далее идёт функция generator: она осуществляет перебор ключей по словарю. В строке 28 убираем у слова перенос строки Разберём функцию В строках 35, 37 и 39 сравниваем аргумент Рассмотрим заключительный фрагмент кода. В строке 45 мы открываем словарь. Также при открытии игнорируем ошибки. Далее просто перебираем пароли через функцию generator. Заключение Логика программы довольно проста. Если вы хорошо разбираетесь в программировании, можете с лёгкостью усовершенствовать её, добавив несколько алгоритмов шифрования, например, blake2b или алгоритм, использующийся в OpenSSL. Также возможно создание посимвольного перебора для фиксированной длины, однако такой способ будет работать гораздо дольше, чем перебор по словарю, но зато шанс взломать криптографическую хеш-функцию будет гораздо выше. Источник: proglib.io Комментарии: |
|||