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

О проекте

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

MySQL

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

Хостинг

Другое








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

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

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

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

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

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

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

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

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

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

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

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



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





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

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


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