Подбор паролей на D

Apr 09, 2015 19:17

Увидел на днях у afiskon'a гостевой пост с реализацией на Go игрушечной задачки про подбор пароля по его MD5 хэшу. По условию в пароле 5 символов из алфавита 0..9a..z, перебор надо распараллелить по ядрам. Там же есть ссылки на предыдущие инкарнации (на хаскеле и эрланге), в них я сейчас не вчитывался. А еще тот же пост увидел eao197 и сделал свой Read more... )

d

Leave a comment

ext_709052 April 10 2015, 08:25:48 UTC
Придумался такой сценарий. Есть N тасков (где N > 10, чило можно подобрать). Каждый таск -- это md5-хеш и диапазон возможных значений. Например {"c4ca4238a0b923820dcc509a6f75849b", ["0","9")} или {"698d51a19d8a121ce581499d7b701668", ["000","zzz ( ... )

Reply

swizard April 10 2015, 12:10:48 UTC
Ага, вроде получилась интересная постановка задачи, готов попробовать изобразить на rust.

Я бы тогда ещё чуток модифицировал:
  • чтобы программа интервалы получала на stdin, и запуск чтоб производился как % ./program < intervals.txt
  • чтоб на stderr программа логгировала некорректные интервалы с причиной ошибки из мастер-потока

Reply

ext_709052 April 10 2015, 12:34:27 UTC
А вот читать stdin нужно сразу при старте, или в процессе работы?

Если будет чтение из потока, то нужно тогда использовать совсем простой формат, чтобы не усложнять код примера парсингом и проверками.

На счет вывода в stderr согласен.

Reply

swizard April 10 2015, 13:56:25 UTC
Там данные вполне простые, можно что-нибудь вроде "<пробел><начало интервала><пробел><конец интервала><\n>" на каждой строке.

Чтоб можно было просто сделать сплит по пробелам и нормально (соответственно, пробел и перенос строки не должны входить в алфавит).

Reply

ext_709052 April 10 2015, 14:04:39 UTC
Ok. Не уверен, что смогу заняться завтра. Скорее это будет понедельник-вторник на следующей неделе.

Reply

swizard April 10 2015, 14:56:10 UTC
Окей, а я, видимо, сегодня вечерком что-нибудь накидаю.

Reply

ext_709052 April 11 2015, 07:37:05 UTC
Предлагаю, для простоты, диапазоны для поиска задавать так, чтобы и левая и правая граница входили в поиск. Т.е. в виде [l,r], а не [l,r).

В этом случае проще задавать файлы заданий:

95ebc3c7b3b9f1d2c40fec14415d3cb8 yyyyy zzzzz

Вместо

95ebc3c7b3b9f1d2c40fec14415d3cb8 yyyyy 100000

Reply

swizard April 11 2015, 11:40:36 UTC
ага, согласен

Reply


Leave a comment

Up