Jedná se o zjišťování pomocí hrubé síly. Určitě to jde udělat lépe. Jedná se o rekurzívní funkci.
// script na decryptovani retezce z MD5 hashe // Cim je delsi delka retezce(maxNum) tim vice narusta doba pro vyhledani // sedm znaku hleda dele nez hodinu set_time_limit(0); $myAnyText ="3a1f82725ba7be32fcd2b53ebaba59f3"; // md5("ata"); $pass = array($myAnyText); foreach ($pass as $passwords) { $start = time(); echo "<br>Heslo je: " . decrypt(trim($passwords), ""); $end = time(); echo "<br> Nalezení zabralo celkem: " . ($end - $start) . " sekund<br>"; } function decrypt($pass, $answer) { $array = array('a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j', 'k', 'l', 'm', 'n', 'o', 'p', 'q', 'r', 's', 't', 'u', 'v', 'w', 'x', 'y', 'z', '1', '2', '3', '4', '5', '6', '7', '8', '9', '0'); $maxNum = 5; if (!isset($answer)) { $answer = ""; } if (strlen($answer) > $maxNum) { return; } for ($i = 0; $i < count($array); $i++) { $temp = $answer . $array[$i]; if (md5($temp) == $pass) { return $temp; } $result = decrypt($pass, $temp); if (strlen($result) > 0) { return $result; } } }