string mcrypt_decrypt(string cipher, string key, string data, string mode, string iv)
Функция mcrypt_decrypt (листинг 12.65) предназначена для расшифровки данных. Аргументом cipher задается один из шифров, перечисленных в табл. 12.8. Аргумент key задает секретный ключ, используемый для расшифровки данных, заданных аргументом data. Аргументом mode задается один из режимов, указанных в табл. 12.9. Необязательный аргумент iv задает вектор инициализации, необходимый для некоторых алгоритмов и режимов.
Листинг 12.65. Функция mcrypt_decrypt
<?php
// задать тестовые данные
$message = "This message is sensitive."; $key = "secret"; //зашифровать сообщение
$code = @mcrypt_encrypt(MCRYPT_BLOWFISH, $key, $message,
MCRYPT_MODE_ECB); // распечатать расшифрованное сообщение print(@mcrypt_decrypt(MCRYPT_BLOWFISH, $key, $code,
MCRYPT_MODE_ECB));
?>
string mcrypt_enc_get_algorithms_name(resource mcrypt)
Функция mcrypt_enc_get_algorithms_name возвращает название алгоритма, используемого открытым ресурсом.
integer mcrypt_enc_get_block_size(resource mcrypt)
Функция mcrypt_enc_get_block_size предназначена для получения размера блока открытого ресурса.
integer mcrypt_enc_get_iv_size(resource mcrypt)
Функция mcrypt_enc_get_iv_size возвращает размер вектора инициализации, используемого открытым ресурсом.
integer mcrypt_enc_get_key_size(resource mcrypt)
Функция mcrypt_enc_get_key_size предназначена для определения максимального размера ключа, разрешенного открытым ресурсом.
string mcrypt_enc_get_modes_name(resource mcrypt)
Функция mcrypt_enc_get_modes_name предназначена для получения имени режима, используемого открытым ресурсом.
array mcrypt_enc_get_supported_key_sizes(resource mcrypt)
Функция mcrypt_enc_get_supported_key_sizes используется для получения массива, содержащего размеры, используемые открытым ресурсом.
boolean mcrypt_enc_is_block_algorithm(resource mcrypt)
Функция mcrypt_enc_is_block_algorithm используется для проверки работы с блочными шифрами алгоритма открытого ресурса.
boolean mcrypt_enc_is_block_algorithm_mode(resource mcrypt)
Функция mcrypt_enc_is_block_algorithm_mode используется для проверки поддержки используемым данным ресурсом режима работы с блочными шифрами.
boolean mcrypt_enc_is_block_mode(resource mcrypt)
Функция mcrypt_enc_is_block_mode предназначена для проверки наличия блочного вывода режимом, используемым заданным ресурсом.
boolean mcrypt_enc_self_test(resource mcrypt)
Функция mcrypt_enc_self_test предназначена для проверки алгоритма, используемого открытым ресурсом.
string mcrypt_encrypt(string cipher, string key, string data, string mode, string iv)
Функция mcrypt_encrypt предназначена для шифрования данных. Аргументом cipher задается один из шифров, перечисленных в табл. 12.8. Аргумент key является секретным ключом, предназначенным для кодирования данных, переданных аргументом data. Аргумент mode должен иметь одно из значений, представленных в табл. 12.9. Необязательный аргумент iv является вектором инициализации для некоторых алгоритмов и режимов.
string string mcrypt_generic(resource mcrypt, string data)
Функция mcrypt_generic (листинг 12.66) предназначена для шифрования данных. Для соблюдения принципа кратности длины данных размеру блока она дополняет избыточные данные символами NULL. Перед использованием функции необходимо инициализировать ресурс с помощью функции mcrypt_generic_init.
| Листинг 12.66. Функция mcrypt_generic_
<?php
$message = "This message is sensitive."; // открыть шифр
$mcrypt = mcrypt_module_open(MCRYPT_3DES, NULL,
MCRYPT_MODE_ECB, NULL); //создать вектор инициализации
$iv = mcrypt_create_iv(mcrypt_enc_get_iv_size($mcrypt),
MCRYPT_DEV_RANDOM); //создать ключ; для того чтобы ключ был достаточно длинным, необходимо использовать md5
$key = substr(md5('secret'), 0, mcrypt_enc_get_key_size($mcrypt)); // инициализация шифровки
mcrypt_generic_init($mcrypt, $key, $iv); // зашифровать
$code = mcrypt_generic($mcrypt, $message); // очистить
mcrypt_generic_deinit($mcrypt); // инициализация расшифровки mcrypt_generic_init($mcrypt, $key, $iv); // расшифровать
print(mdecrypt_generic($mcrypt, $code)); // очистить
mcrypt_generic_deinit($mcrypt); // закрыть модуль mcrypt_module_close($mcrypt);
?>
boolean mcrypt_generic_deinit(resource mcrypt)
Функция mcrypt_generic_deinit используется для освобождения памяти, отведенной под ресурс mcrypt, созданный функцией mcrypt_generic_init.
integer mcrypt_generic_init(resource mcrypt, string key, string iv)
Функция mcrypt_generic_init предназначена для инициализации ресурса с помощью ключа и вектора инициализации, после чего можно вызывать функции mcrypt_generic или mdecrypt_generic.
integer mcrypt_get_block_size(integer algorithm)
Функция mcrypt_get_block_size используется для определения размера блока для заданного алгоритма шифрования. При этом используется одна из констант, приведенных в табл. 12.8.
string mcrypt_get_cipher_name(integer algorithm)
Функция mcrypt_get_cipher_name используется для определения имени режима шифрования. При этом используется одна из констант, приведенных в табл. 12.8.
ТОП-10 популярных
Для работы с вещественными числами в MySQL предусмотрено три типа данных - это типы FLOAT, DOUBLE, DECIMAL. Числовой тип FLOAT...
БОЛЬШЕ БОЛЬШИХ LCD-мониторов
Процесс вытеснения с рынка мониторов с электронно-лучевой трубкой (CRT) продолжается. О смещении акцентов в пользу LCD-мониторов теперь заявляют даже те...
Процесс вытеснения с рынка мониторов с электронно-лучевой трубкой (CRT) продолжается. О смещении акцентов в пользу LCD-мониторов теперь заявляют даже те...
Больше больших LCD-мониторов
Процесс вытеснения с рынка мониторов с электронно-лучевой трубкой (CRT) продолжается. О смещении акцентов в пользу LCD-мониторов теперь заявляют даже те...
Процесс вытеснения с рынка мониторов с электронно-лучевой трубкой (CRT) продолжается. О смещении акцентов в пользу LCD-мониторов теперь заявляют даже те...
НОУТБУК с блестящим экраном
Eсли выпустившая ноутбук фирма предлагает его в качестве «замены настольному ПК», то это должно подразумевать под собой нечто большее, чем...
Eсли выпустившая ноутбук фирма предлагает его в качестве «замены настольному ПК», то это должно подразумевать под собой нечто большее, чем...
Иди и пиши. TravelMate C100
Планшетный компьютер платформы Tablet PC обязан в первую очередь быть легким, способным достаточно долго работать без подзарядки батарей. Эти требования...
Планшетный компьютер платформы Tablet PC обязан в первую очередь быть легким, способным достаточно долго работать без подзарядки батарей. Эти требования...
Магнито-оптический дисковод DynaMO
Cейчас, когда традиционные флоппи-дисководы на долгие годы замерли в своем развитии, поиск альтернативных носителей продолжается, и ситуация, казалось бы, разрешилась...
Cейчас, когда традиционные флоппи-дисководы на долгие годы замерли в своем развитии, поиск альтернативных носителей продолжается, и ситуация, казалось бы, разрешилась...
Компьютер для гурманов.«Эксимер ДМ»
Российская компания «Эксимер ДМ», известная как производитель настольных компьютеров, рабочих станций, серверов и ноутбуков, выступила техническим спонсором проведения торжеств, посвященных...
Российская компания «Эксимер ДМ», известная как производитель настольных компьютеров, рабочих станций, серверов и ноутбуков, выступила техническим спонсором проведения торжеств, посвященных...
Для длинных строк, т.е. строк длиннее 255 символов, в MySQL предусмотрены типы BLOB (Binary Large Object, большой двоичный объект) и...
В дополнение к календарным типам, предназначенным для хранения даты и времени отдельно, MySQL также поддерживает гибридные типы данных DATETIME и...
Вообще, к изменению настроек сервера прибегают очень редко. В MySQL программа заранее настроена так, чтобы соответствовать самым распространенным и основным...
PHP. Кодирование и декодирование. Часть Четырнадцатая.
20-01-2015
<< Предыдущая статья | Следующая статья >> |
PHP. Кодирование и декодирование. Часть Триннадцатая. | PHP. Кодирование и декодирование. Часть Пятнадцатая. |