Цитата:
|
Сообщение от WindWalker
количество вариантов у нас уже резко сокращается, так как мы знаем часть исходной строки.
|
Ха-ха

Да нет же.
Допустим
1.
Пароль был WORD1.
У вас есть HASH1 и HASH2.
Задача: выяснить значение WORD1
2.
md5 (WORD1) = HASH1
md5 (WORD2) = HASH1
И заметьте, WORD1 и WORD2 могут быть различной длины.
3. (если это действительно так, иначе смысла разговор не имеет на эту тему)
md5 (WORD1 + KEY) = HASH2
md5 (WORD2 + KEY) = HASH3
Однако из HASH1 можно получить только WORD2 (при условии, что идет узнавание именно через обратимость, у нас ведь не числа чтобы был корень из дискриминанта дающий два различных корня в квадратном уровнении, поэтому вы получаете только один вариант)
Теперь у вас есть WORD2 и HASH2. Только толку то? Посомтрите на пункт 3. Знание WORD2 ни как не приблизило вас к узнаванию WORD1, у вас из трех значение WORD1, KEY и HASH2, есть только HASH2.
А для вычисления KEY через WORD2, надо знать значения HASH3. Но его у вас нет, и будет (понято почему?)