шифрование md5
Дело в том что я забыл реальный пароль, а он храниться только в md5 виде , я читал что это однонаправленное шифрование, но мне не вериться , знает кто Можно ли его разшифровать?
В разумные сроки нет. Можно попробовать перебором по словарю - если пароль был длинный и сложный не сработает. Можно поискать коллизии, но этот способ в разумные сроки опять таки не сработает.
Всего вариантов хэшей (если ошибаюсь - поправьте меня) порядка 10 в 16 степени.
если это пороль, что хранится в некой базе, к которой у Вас есть доступ, то просто смените старый хэш новым ($buff = md5('newpassword');)
Однако насчет разумных сроков замечание точное ))))
Инфа к размышлению: http://www.fssr.ru/hz.php?name=News&file=article&sid=4164.
Зря не верится. Если нужен именно пароль, то точно его конечно не идентифицируешь - скорее с какой то вероятностью. Потому что MD5 функция всетаки не взаимоодназначаня.
Но если ты знаешь примерную длинну пароля и примерный список симоволов, что сужает множество перебора, можно просто полным перебором подобрать пароль который имеет такой же хэшь как и твой. (И скорее всего это и будет твой пароль=)) )
Впринципе, при знании длинны и примерного множества символов, пароль подбирается вполне за разумное время, особенно если его подбирать распределенно скажем компах на 10-15 в сети. Я подбирал.
По поводу взлома через колизии. Если нужен именно исходный пароль - то задачу это не решает. Просто появились алгоритмы позволяющие тоже за реальное врямя находить строку с таким же хэшем. Но это скорее всего будет не тот же пароль.
Все же не стоит забывать, что MD5 - не симметричная функция и один и тот же MD5 хэш имеют бесконечно много строк (или последовательностей байт в зависимости от терминологии =)) )
Если же не нужен сам пароль, а нужен доступ кудато по хэшу - то наверно стоит подумать об альтернативных способах =))
Всего вариантов хэшей (если ошибаюсь - поправьте меня) порядка 10 в 16 степени.[/QUOTE]
Всего вариантов хэшей легко посчитать:
В хэше 16 байт или 128 бит. Значит всего вариантов 2 в степени 128. Тоесть примерно 3,4028*10^38 =))
Только это мало что дает - исходных сообщений, которые кодируются в эти 2^256 вариантов всеравно бесконечно много =)
Способ то нашли, с помощью которого можно быстро перебрать хэш (в поиск на securitylab.ru), но для простых смертных толку то от этого? Для такого перебора нужно только мозгов гигов 64.
А уж простой перебор вполне помогает порой. Я подбирал пароль дилинной около 13 символов. Примерно знал список символов. Запускал на 10 компах десктопных и сервере (предварительно писал конечно программу, но писал раньше для подобных целей). Так что вполне реально в течение дня подобрать строку дающую такой хэш.
Нашел прогу которая ломает различные методы шифрования. Она мне написала что будет ломать 9 дней. И я решил , лучше я сам напишу функцию по подбору паролей, зная какие могут использоваться символы и длина пароля 8символов.. - это можно сделать наверно быстрее, Чем прога будет перебирать с 1 символа до n-символов.
хмм, на мой взгляд если ты будешь писать что-то всое, тем более если она будет перибирать с помощью пхп, нечего нормально не выйдет. Есть программа MD5 inside, она у меня основная при отладке проектов с использованием мд5. Если потребуется софт и хелп, милости прошу в аську, уин есть в профиле.
Цитата:
хмм, на мой взгляд если ты будешь писать что-то всое, тем более если она будет перибирать с помощью пхп, нечего нормально не выйдет.
Ну на php такие вещи действительно писать нет смысла. Для этого есть C или C++.
Но самому написать вполне реально. Причем написать так как тебе надо )