Сжатие и шифрование в Delphi - PullRequest
1 голос
/ 20 декабря 2011

Мне нужен быстрый и сильный метод сжатия + шифрования для моего DAT файла.

У меня есть DAT файл, который содержит очень конфиденциальную информацию, и я хотел бы сжать и зашифровать ее. Я знаю, что могу использовать Zlib в методе сжатия, но как насчет метода шифрования?

большое спасибо

Ответы [ 3 ]

6 голосов
/ 20 декабря 2011

Еще один часто используемый компонент - DCPCrypt:

http://www.cityinthesky.co.uk/opensource/dcpcrypt

Он основан на потоке, поэтому вы можете использовать сжатие и шифрование слоев. Я не знаю код, который делает это за один шаг. (по крайней мере, без разумного шифрования)

6 голосов
/ 20 декабря 2011

Пожалуйста, ознакомьтесь с Delphi Encripption Compendium (он же DEC):

4 голосов
/ 21 декабря 2011

Если вам нужно одновременно и шифрование, и сжатие, у вас есть два способа реализовать это:

  • Использовать ваши данные в буфере памяти, затем сжать этот буфер, а затем зашифровать его;
  • Используйте потоки, один для сжатия, другой для шифрования.

Во всех случаях лучше всего сжимать перед шифрованием.Сложнее расшифровать данные из сжатого формата, поскольку их содержимое менее ожидаемо.

Тогда положитесь на достаточно сильный алгоритм шифрования (например, AES).

Все эти функции имеются внаши модули с открытым исходным кодом (от Delphi 5 до XE2).Вы можете использовать ZIP или попробовать наш намного быстрее (но менее эффективный с точки зрения коэффициента сжатия) SynLZ .Затем SynCrypto можно использовать для его шифрования.Существуют прямые функции, обрабатывающие данные типа RawByteString, которые содержат данные в буфере памяти.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...