Хочу попробовать написать свои словари для различных хешей: 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)