Зачем нужно кодирование строк? К примеру, хранить пароли в базе данных в открытой форме довольно не безопасно. По этому их нужно закодировать. Конечно в некоторых базах кодирование применяется изночально. В других следует использовать возможности PHP. В PHP существует функция crypt(), которая кодирует строки с помощью стандарта DES (Data Encryption Standard). Данная функция производит необратимое кодирование, т.е. обратного пути не будет. Кроме того, последующие вызовы crypt() возвращают другие результаты. Например, строка "TopSecret" закодирована в "$1$FK3.qn2.$Si5khnprsRb.N.SEF4GMW0". Чтобы проверить, соответствует ли значение результату вызова crypt(), функция crypt() вызывается еще раз: crypt($value, $encryptedValue), причем в результате должно получиться $encryptedValue. В приведенном выше примере проверяется, соответствует ли пароль, представленный посредством URL, результат предыдущего вызова crypt(). Code <?php $pass = (isset($_GET['pass'])) ? $_GET['pass']:''; $encpass = '$1$FK3.qn2.$Si5khnprsRb.N.SEF4GMW0'; if (crypt($pass, $encpass) === $encpass) { echo 'Вход выполнен!'; } else { echo 'Вход не выполнен!'; } ?> |