Index · Правила · Поиск· Группы · Регистрация · Личные сообщения· Вход

Список разделов Веб-строительство и интернет-проекты
 
 
 

Раздел: Веб-строительство и интернет-проекты Библиотека mcrypt() PHP 

Создана: 07 Февраля 2008 Чтв 19:15:47.
Раздел: "Веб-строительство и интернет-проекты"
Сообщений в теме: 3, просмотров: 2900

  1. 07 Февраля 2008 Чтв 19:15:47
    Установил библиотеку php_mcrypt.dll, вот скрипт:
    Код:
    $key = "123";
    $input = "123123";
    $encrypted_data = mcrypt_ecb (MCRYPT_3DES, $key, $input, MCRYPT_ENCRYPT);


    Все равно не работает. выводит ошибку:
    Код:
    Warning: mcrypt_ecb() [function.mcrypt-ecb]: Attempt to use an empty IV, which is NOT recommend in D:\Server\localhost\www\index.php on line 25


    Не подскажите что сделать?
  2. Heimdal


    Участник


    Более 10 лет на форумеМуж.
    08 Февраля 2008 Птн 1:43:19
    string mcrypt_ecb ( int cipher, string key, string data, int mode )

    string mcrypt_ecb ( string cipher, string key, string data, int mode [, string iv] )

    The first prototype is when linked against libmcrypt 2.2.x, the second when linked against libmcrypt 2.4.x or higher. The mode should be either MCRYPT_ENCRYPT or MCRYPT_DECRYPT.

    This function is deprecated and should not be used anymore, see mcrypt_generic() and mdecrypt_generic() for replacements.

    Интерпретатору не нравится, что ты не объявляешь не обязательную переменную string iv. Почему это так, мне сложно сказать. Последняя строчка мана говорит, что ф-я сейчас не используется, и предлагает замену. Ну да и сам заметил. Попробуй mcrypt_generic() и mdecrypt_generic().
  3. 08 Февраля 2008 Птн 19:06:21
    Код:
    <?php
        function decrypt($value)
        {
            global $LICENSE_KEY;

            $key = substr(md5($_SERVER['REMOTE_ADDR']), 0, 6);
           
            if(function_exists("mcrypt_ecb"))
            {
                return mcrypt_ecb(MCRYPT_3DES, $key, $value, MCRYPT_DECRUPT);
            }
            else return $value;
        }
       
        // Расштфровка кукисов с использованием ключа
        function encrypt($value)
        {
            global $LICENSE_KEY;
           
            $key = substr(md5($_SERVER['REMOTE_ADDR']), 0, 6);
           
            if(function_exists("mcrypt_ecb"))
            {
                return mcrypt_ecb(MCRYPT_3DES, $key, $value, MCRYPT_ENCRYPT);
            }
            else return $value;
        }

    ?>