Ниже представлены скрипт позволяющий восстанавливать пароли закодированные методом MD5. Расскодировка происходит методом полного перебора. Паролей можно задавать сразу несколько, на самом деле это упрощает процесс восстановления, по скольку происходит только один прогон для всех паролей. ?php function timer() { $t=explode(' ',microtime()); $subtime=$t[1].substr($t[0], 1); return $subtime; } $total_start=timer(); // Зашифрованные пароли $crypted[1]="eeafbf4d9b3957b139da7b7f2e7f2d4a"; // mama $crypted[2]="0ac6cd34e2fac333bf0ee3cd06bdcf96"; // papa $crypted[4]="822ce80cec024dc6c9180630a4b7d763"; // xxya // Максимальная длина пароля $limit=4; //------------------- // Формируем "максимальный" пароль $char_limit=""; $c=1; for ( ; $c <= $limit; $c++) { $char_limit .= 'z'; } // Для четырех символов будет zzzz. $clear_start=timer(); $stop=false; $i="a"; for ( ; $i <= $char_limit; $i++) { foreach($crypted as $key => $item) { if (md5($i) == $item) { echo "Пароль №".$key.": ".$i.' '; unset($crypted[$key]); // удаляем найденный пароль из массива if (empty($crypted)) { $stop=true; // флаг прекращения внешнего цикла break; } } } if ($stop) break; } $end=timer(); $total=$end-$total_start; $clear=$end-$clear_start; echo 'Всего времени (с инициализацией всех переменных): $total'; echo '"Чистое" время (только брутфорс): $clear'; echo 'На инициализацию потрачено: '.$total-$clear; ?>