- 01
- 02
- 03
- 04
- 05
- 06
- 07
- 08
- 09
- 10
- 11
- 12
- 13
- 14
- 15
- 16
std::string wbfunc(std::string& hash)
{
std::string line;
std::ifstream f("/home/hromjo/q");
int l = 0;
while (std::getline(f, line))
{
std::cout << "Перебор: " << l << "паролей." << "\n";
l++;
if (md5(line) == hash)
{
return line;
break;
}
}
}
pushkoff 04.08.2010 12:47 # −1
raorn 04.08.2010 12:52 # +1
hromjo 04.08.2010 13:06 # −1
3.14159265 04.08.2010 14:08 # +2
это серъезно, или в шутку - не въехал
суровый бруттер if (md5(line) == hash)), походу сильно заточен на md5.
0_0 я видел статью одного чувака реально рубящего в теме.
он писал что бруттеры пишут все кому не лень
и как не странно 95% из них - говно - они даже не достигают скоростей, которых можно достичь написав проверку md5 самым тупым образом...
и знаете почему? потому что их авторы выводят инфу о скорости на каждой итерации, что в несколько раз медленнее чем проверить один хеш.
PS Use for(), Luke ))
nickky-pohhuj 25.08.2010 21:09 # +1
Ахахаха!
pushkoff 04.08.2010 16:42 # 0
словарь можно тоже организовать по правильному, записав в него пароли в виде блоков (допустим по 4кб) по несколько штук с выравниванием...
paranoid 04.08.2010 13:31 # +5
Метод термо-ректального криптоанализа же, в свою очередь, помогает свести число итераций до минимума. В некоторых случаях число итераций и вовсе сводится к нулю, заканчиваясь на стадии инициализации.
Анонимус 04.08.2010 14:54 # 0
И интересно где md5 без salt используется для паролей? в phpbb?
asics 04.08.2010 15:01 # 0
xaionaro 04.08.2010 19:00 # 0
nickky-pohhuj 25.08.2010 21:10 # 0
xaionaro 25.08.2010 23:11 # 0
bugmenot 26.08.2010 14:48 # 0
это rainbow table, если что
Анонимус 04.08.2010 19:18 # 0
xaionaro 04.08.2010 21:12 # 0
Анонимус 04.08.2010 21:19 # −1
Если Вы не знаете salt, то толку от дехешера мало.
xaionaro 05.08.2010 07:47 # 0
И что такое "не знаете salt"? Опишите как при "неизвестном salt" идёт проверка пароля самим "движком". Я просто не занимаюсь такими работами, где надо вручную вводить использование md5-хеширования, поэтому возможно чего-то не понимаю.
Но пока нет ответов на данные вопросы, давайте рассмотрим случай , где salt выбирается случайно и размещается рядом с MD5-хешем используя разделитель "$", допустим. Как получить пароль, дающий тот же md5-хеш? Просто "дехешировать" имеющейся хеш, выбрать тот (32+strlen(salt)) символьный "дехеш", у которого на конце имеется "salt", отрубить данный salt и снова "дехешировать", выбирая тот "дехеш", у которого salt на конце.
xaionaro 05.08.2010 07:54 # 0
xaionaro 05.08.2010 08:00 # 0
Да и если допустим при составлении данной базы одих хеш будет генерироваться в одну микросекунду, то составляться она будет больше 500 лет.
ZX_Spectrum 05.08.2010 21:24 # 0
Мистер Хэнки 06.08.2010 18:53 # 0