PHP: <?php error_reporting(E_ALL & ~E_NOTICE); // Шифруем пароль $user_password = "gfkjxrb99"; $key = "Это секретный ключ"; // Шифруем пароль с использованием ключа $key $user_crypt = mcrypt_ecb(MCRYPT_3DES, $key, $maks_password, MCRYPT_ENCRYPT); echo "Зашифрованный пароль - ".$user_crypt; // Расшифровываем пароль $user_crypt = mcrypt_ecb(MCRYPT_3DES, $key, $user_crypt, MCRYPT_DECRYPT); echo "Расшифорованный пароль - ".$user_crypt; ?> Fatal error: Uncaught Error: Call to undefined function mcrypt_ecb() in E:\OpenServer\domains\php\05\5.3.2\1.php:9 Stack trace: #0 {main} thrown in E:\OpenServer\domains\php\05\5.3.2\1.php on line 9
@ubunta2 Ищи свои проблемы сперва в интернете а потом, обращайся на форум, а не если ты скопировал и работает с ошибкой значит это ты ошибся а не писатель книги. Читай внимательно: http://www.php.net/mcrypt_ecb На что лучше изменить твою старую функцию.
понял книга старая --- Добавлено --- PHP: <?php error_reporting(E_ALL & ~E_NOTICE); // Устанавливаем неограниченное время выполнения скрипта set_time_limit(0); // Читаем пароли из файла password $pass = file("password"); foreach($pass as $password) { // Замеряем время, затраченное на подбор пароля $begin = time(); echo decrypt_md5(trim($password),""); $end = time(); echo " (На подбор затрачено ".($end - $begin)." секунд) <br>"; } // Функция посимвольного перебора пароля // $pass - расшифровываемый пароль // $answer - текущий ответ, при первом вызове - пустая строка function decrypt_md5($pass, $answer) { $arr = 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'); // Будем считать, что пароль не превышает // 4 символов $max_number = 3; if(strlen($answer) > $max_number) return; for($j = 0; $j < count($arr); $j++) { $temp = $answer.$arr[$j]; if(md5($temp) == $pass) return $temp; // Рекурсивно вызываем фукнцию для увеличения // длины подбираемого пароля $result = decrypt_md5($pass, $temp); // Если функция возвращает непустую строку, // следовательно, найден ответ и дальше искать // не следует if(strlen($result) > 0) return $result; } } ?> Warning: file(password): failed to open stream: No such file or directory in E:\OpenServer\domains\php\05\5.3.3\1.php on line 19 Warning: Invalid argument supplied for foreach() in E:\OpenServer\domains\php\05\5.3.3\1.php on line 20
Давай переведем ошибку: Внимание: file(password): не удалось открыть поток: Нет такого файла или каталога в E:\OpenServer\domains\php\05\5.3.3\1.php on line 19 --- Добавлено --- Соответственно, так как файл не найден, то и массива нет.
хочешь, забаню тебя за агрессию в сторону человека, который учится и не делает никому ничего плохого? =)
Через поиск находите примеры по какой-нибудь определенной тематике. Например, забиваем в поиск "PDO", слева в колонке отфильтровываем по PHP и смотрите, как народ реализует различные задачи, связанные с базами данных и драйвером PDO. Или забить фразу "MouseZver/Lerma", находите работу местного форумчанина @MouseZver , исследуете её, критикуете, вносите правки и т.д.
Запросы должны быть тематическими. К примеру, вы хотите посмотреть, как народ реализует систему авторизациии. Вот и пишем в поиске "Authorization".