Warning: include(../lntop.php) [function.include]: failed to open stream: No such file or directory in /var/www/prime/data/www/prime-speed.ru/Manual_PHP_4/f/mdecrypt-generic.html on line 19

Warning: include() [function.include]: Failed opening '../lntop.php' for inclusion (include_path='.:/usr/share/php:/usr/share/pear') in /var/www/prime/data/www/prime-speed.ru/Manual_PHP_4/f/mdecrypt-generic.html on line 19

Warning: include(../levoe_menu.php) [function.include]: failed to open stream: No such file or directory in /var/www/prime/data/www/prime-speed.ru/Manual_PHP_4/f/mdecrypt-generic.html on line 46

Warning: include() [function.include]: Failed opening '../levoe_menu.php' for inclusion (include_path='.:/usr/share/php:/usr/share/pear') in /var/www/prime/data/www/prime-speed.ru/Manual_PHP_4/f/mdecrypt-generic.html on line 46



Учебник РНР
Назад Вперёд

mdecrypt_generic

(PHP 4 >= 4.0.2)

mdecrypt_generic - эта функция дешифрует данные.

Описание

string mdecrypt_generic (resource td, string data)

Эта функция дешифрует данные. Обратите внимание, что длина возвращаемой строки может оказаться больше, чем длина нешифрованной, из-за заполнения данными.

Пример 1. mdecrypt_generic()
<?php
    /* Данные */
    $key = 'this is a very long key, even too long for the cipher';
    $plain_text = 'very important data';
   
    /* Открывает модуль и создаёт IV */ 
    $td = mcrypt_module_open ('des', '', 'ecb', '');
    $key = substr ($key, 0, mcrypt_enc_get_key_size ($td));
    $iv_size = mcrypt_enc_get_iv_size ($td);
    $iv = mcrypt_create_iv ($iv_size, MCRYPT_RAND);

    /* Инициализирует дескриптор шифрования */
    if (mcrypt_generic_init ($td, $key, $iv) != -1) {

        /* Шифрует данные */
        $c_t = mcrypt_generic ($td, $plain_text);
        mcrypt_generic_deinit ($td);

        /* Реинициализирует буферы для дешифрования */
        mcrypt_generic_init ($td, $key, $iv);
        $p_t = mdecrypt_generic ($td, $c_t);

        /* Зачистка */
        mcrypt_generic_deinit ($td);
        mcrypt_module_close ($td);
    }

    if (strncmp ($p_t, $plain_text, strlen($plain_text)) == 0) {
        echo "ok\n";
    } else {
        echo "error\n";
    }
?>

В этом примере показано, как проверить, являются ли данные перед шифровкой теми же, что и после дешифровки. очень важно реинициализировать буфер шифрования функцией mcrypt_generic_init(), прежде чем вы попытаетесь дешифровать данные.

Дескриптор дешифровки должен всегда инициализироваться функцией mcrypt_generic_init() с ключом и IV до вызова этой функции. После выполнения шифрования вы должны освободить буферы шифрования вызовом mcrypt_generic_deinit(). См. пример в mcrypt_module_open().

См. также mcrypt_generic(), mcrypt_generic_init() и mcrypt_generic_deinit().


Назад Оглавление Вперёд
mcrypt_ofb ВверхФункции Mhash


Warning: include(../pravoe_menu.php) [function.include]: failed to open stream: No such file or directory in /var/www/prime/data/www/prime-speed.ru/Manual_PHP_4/f/mdecrypt-generic.html on line 180

Warning: include() [function.include]: Failed opening '../pravoe_menu.php' for inclusion (include_path='.:/usr/share/php:/usr/share/pear') in /var/www/prime/data/www/prime-speed.ru/Manual_PHP_4/f/mdecrypt-generic.html on line 180

Rambler's Top100
© 2009 Тест скорости интернета |  Boont.Ru

Warning: include(../lnbottom.php) [function.include]: failed to open stream: No such file or directory in /var/www/prime/data/www/prime-speed.ru/Manual_PHP_4/f/mdecrypt-generic.html on line 306

Warning: include() [function.include]: Failed opening '../lnbottom.php' for inclusion (include_path='.:/usr/share/php:/usr/share/pear') in /var/www/prime/data/www/prime-speed.ru/Manual_PHP_4/f/mdecrypt-generic.html on line 306