Регистрация Войти
Войти через VK Войти через FB Войти через Google Войти через Яндекс
Войти через VK Войти через FB Войти через Google Войти через Яндекс
Поиск по сайту
Шифрующие фильтры
mcrypt.* и mdecrypt.* обеспечивают симметричное шифрование и дешифрование при помощи libmcrypt. Оба набора фильтров поддерживают те же алгоритмы, что и расширение mcrypt в виде mcrypt.ciphername, где ciphername - это название шифра, как если бы оно передавалось функции mcrypt_module_open(). Также доступны следующие пять параметров:
Параметр | Обязателен? | По умолчанию | Пример значения |
---|---|---|---|
mode | Нет | cbc | cbc, cfb, ecb, nofb, ofb, stream |
algorithms_dir | Нет | ini_get('mcrypt.algorithms_dir') | Путь к модулям алгоритмов |
modes_dir | Нет | ini_get('mcrypt.modes_dir') | Путь к модулям режимов |
iv | Да | N/A | Обычно 8, 16 или 32 байта бинарных данных. Зависит от шифра |
key | Да | N/A | Обычно 8, 16 или 32 байта бинарных данных. Зависит от шифра |
Пример #1 Шифрование вывода в файл используя 3DES
$passphrase = 'My secret';
/* Включает читаемую секретную фразу
* в воспроизводимую пару iv/key
*/
$iv = substr(md5('iv'.$passphrase, true), 0, 8);
$key = substr(md5('pass1'.$passphrase, true) .
md5('pass2'.$passphrase, true), 0, 24);
$opts = array('iv'=>$iv, 'key'=>$key);
$fp = fopen('secret-file.enc', 'wb');
stream_filter_append($fp, 'mcrypt.tripledes', STREAM_FILTER_WRITE, $opts);
fwrite($fp, 'Secret secret secret data');
fclose($fp);
Пример #2 Чтение зашифрованного файла
$passphrase = 'My secret';
/* Включает читаемую секретную фразу
* в воспроизводимую пару iv/key
*/
$iv = substr(md5('iv'.$passphrase, true), 0, 8);
$key = substr(md5('pass1'.$passphrase, true) .
md5('pass2'.$passphrase, true), 0, 24);
$opts = array('iv'=>$iv, 'key'=>$key);
$fp = fopen('secret-file.enc', 'rb');
stream_filter_append($fp, 'mdecrypt.tripledes', STREAM_FILTER_READ, $opts);
$data = rtrim(stream_get_contents($fp));
fclose($fp);
echo $data;
![add a note](/images/notes-add.gif)
There are no user contributed notes for this page.
show source | credits | sitemap | contact | advertising | mirror sites
Copyright © 2001-2013 The PHP Group
All rights reserved.
This mirror generously provided by: Cronyx Plus LLC
Last updated: Tue Apr 16 20:41:06 2013 MSK