П О Р Т А Л                            
С Е Т Е В Ы Х                          
П Р О Е К Т О В                        
  
Поиск по сайту:
                                                 
Главная

О проекте

Web-мастеру
     HTML & JavaScript
     SSI
     Perl
     PHP
     XML & XSLT
     Unix Shell

MySQL

Безопасность

Хостинг

Другое








Самое читаемое:

Учебник PHP - "Для Чайника".
Просмотров 6400 раз(а).

Иллюстрированный самоучитель по созданию сайтов.
Просмотров 8504 раз(а).

Учебник HTML.
Просмотров 5118 раз(а).

Руководство по PHP5.
Просмотров 2286 раз(а).

Хостинг через призму DNS.
Просмотров 7434 раз(а).

Подборка текстов стандартных документов.
Просмотров 104 раз(а).

Учебник PHP - Самоучитель
Просмотров 5407 раз(а).

Документация на MySQL (учебник & справочное руководство)
Просмотров 11599 раз(а).

Внешние атаки...
Просмотров 7852 раз(а).

Учебник PHP.
Просмотров 4516 раз(а).

SSI в примерах.
Просмотров 1371 раз(а).



 
 
| Добавить в избранное | Сделать стартовой | Помощь





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

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


Если Вы не нашли что искали, то рекомендую воспользоваться поиском по сайту: