Назад | Перейти на главную страницу

Шифрование загруженных файлов pdf с помощью mcrypt и php

В настоящее время я использую систему CentOS, которая использует mcrypt для шифрования / дешифрования данных в / из базы данных. В спешке я забыл, что мне также нужно решение для шифрования файлов (в первую очередь pdf, с файлами xls и txt тут и там).

Есть ли способ использовать mcrypt для шифрования загруженных файлов PDF? Я понимаю возможность file_get_contents () с txt; есть ли подобное решение для других форматов?

Спасибо!

РЕДАКТИРОВАТЬ

Вероятно, самым чистым (и более универсальным / поддерживаемым) вариантом было бы использование Zend_File_Transfer библиотека (вы можете использовать отдельные библиотеки Zend Framework по отдельности или в комбинации, если вы с ней не знакомы).

В частности, взгляните на Фильтры для библиотеки Zend_File_Transfer. Он использует MCrypt для своих фильтров шифрования / дешифрования (и имеет множество других обязательных / полезных функций, таких как переименование, индикатор выполнения и т. Д.).

Раньше я использовал его для базовой загрузки, и он отлично работает.

Я знаю, что на этот вопрос есть принятый ответ, но самый чистый способ сделать это - использовать фильтр потока шифрования. На странице руководства по PHP есть полная информация, поэтому я не буду дублировать здесь какой-либо код, но, похоже, это самый простой способ добиться этого. Вы прикрепляете фильтр потока к ресурсу дескриптора файла, и данные прозрачно шифруются или дешифруются при чтении или записи в файл. Лучше всего для всего этого используется библиотека mcrypt.

Если цепочка file_get_contents -> mcrypt_encrypt -> mcrypt_decrypt -> file_put_contents не работает с файлами PDF (почему не должно быть), вы все равно можете рассматривать ее как двоичные данные, а не текст.

Или, что более систематично, используйте EncFS и создайте зашифрованную точку монтирования и храните там документы.