KOLANICH
Новичок
Столкнулся с необходимостью создания зашифрованных архивов в php.
Использовать консоль нельзя.
Поскольку zipArchive не поддерживает шифрование, придётся выкручиваться по-другому.
Это не совсем совместимо с шифрованием архивов по стандарту, зато хоть как-то будет работать.
есть такой потоковый фильтер mcrypt.имя_шифра
и есть потоковая обёртка
php://filter
которая применяет фильтр к файлу
как используя php://filter применить mcrypt, если он требует параметры
мне кажется, что тут нужно создать свой фильтр, включающий в себя мкриптовский и его параметры (отдекорировать мкриптовский фильтр), после чего заюзать php://filter, поправьте, если я неправ
декорация фильтров кажись есть тутhttps://github.com/caefer/StreamHitching
Использовать консоль нельзя.
Поскольку zipArchive не поддерживает шифрование, придётся выкручиваться по-другому.
Это не совсем совместимо с шифрованием архивов по стандарту, зато хоть как-то будет работать.
есть такой потоковый фильтер mcrypt.имя_шифра
PHP:
<?php
//оттуда
// http://php.net/manual/en/filters.encryption.php
$passphrase = 'My secret';
/* Turn a human readable passphrase
* into a reproducable iv/key pair
*/
$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);
?>
php://filter
которая применяет фильтр к файлу
как используя php://filter применить mcrypt, если он требует параметры
мне кажется, что тут нужно создать свой фильтр, включающий в себя мкриптовский и его параметры (отдекорировать мкриптовский фильтр), после чего заюзать php://filter, поправьте, если я неправ
декорация фильтров кажись есть тутhttps://github.com/caefer/StreamHitching