JaxAdam
@JaxAdam
Junior Full-Stack Developer

Как создать свой словарь с помощью переборов?

Хочу попробовать написать свои словари для различных хешей: md5, sha-256, sha-1, DES, RSA. Чтобы в output-file.txt можно было видеть что-то вроде (для md4 хеша):
bde52cb31de33e46245e05fbdbd6fb24:a
7aeafcb2818e533b384433dea80992f5:b
9a8b795af56c9a4e3d2fc23794edc209:c
5d3f7ed29552c4ab4612fb7686bb52bb:d

Что у меня есть?
1) Алфавит доступных символов (abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ1234567890 _-+!?)
2) Количество символов входной строки не превышает 20 символов
3) Известен хеш входной строки
4) Известна захешированная строка

Пробую чет написать на python, только вот застрял.
import hashlib
# доступные символы
stringAvailable = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ1234567890 _-+!?"
availableSymbols = list(stringAvailable)
# hashtype
hashtype = 'md4'
# максимальное количество символов в генерируемой строке
maxsize = 20
# массив в котором буду хранить строки и их хеш-суммы
generated = {}

def generate(symbols, size):
    #...
    string # должна быть сгенерированная строка входа
    hashed = hashlib.new(hashtype, string.encode("utf-8")).hexdigest() # хеш сумма
    generated[string] = hashed
    #...
generate(availableSymbols, maxsize)
  • Вопрос задан
  • 86 просмотров
Решения вопроса 1
xmoonlight
@xmoonlight
https://sitecoder.blogspot.com
У меня есть хеш 647ecbe1a0666a9022f96eb402ce8124. Как мне получить строку, которая даст такую же хеш сумму?
Нужно писать не брут, а реверс-хеш: нахождение всех областей при схождении промежуточных значений для формирования корректной исходной строки (точнее и скорее всего - списка подходящих строк или, другими словами, всех "коллизий" данного хеша).
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы