Предложения для дешевой / бесплатной библиотеки .NET для Zip с шифрованием AES? - PullRequest
10 голосов
/ 04 декабря 2008

Я пытаюсь найти компонент сжатия и шифрования zip с шифрованием , подходящий для использования Федеральным правительством США , поэтому я не могу использовать шифрование Zip 2.0, это должен быть AES или подобный , Я уже нашел SharpZipLib (не может выполнить шифрование AES) и Chilkat (может выполнять шифрование AES, но стоит денег). Я пропускаю какие-либо другие варианты?

Ответы [ 5 ]

11 голосов
/ 04 января 2009

Сколько вы готовы заплатить за AES в DotNetZip? ;)

DotNetZip поддерживает шифрование AES с 128 или 256-битными ключами.

http://www.codeplex.com/DotNetZip

Пример кода:

  using (ZipFile zip = new ZipFile())
  {
    zip.AddFile("ReadMe.txt"); // no password for this entry

    // use a password for subsequent entries
    zip.Password= "This.Encryption.is.FIPS.197.Compliant!";
    zip.Encryption= EncryptionAlgorithm.WinZipAes256;
    zip.AddFile("Rawdata-2008-12-18.csv");
    zip.Save("Backup-AES-Encrypted.zip");
  }

AZ-зашифрованные zip-файлы, созданные DotNetZip, могут быть прочитаны и извлечены WinZip, и наоборот.

Вы также можете просто создавать обычные ZIP-файлы без шифрования.

о, и это бесплатно.

6 голосов
/ 04 декабря 2008

А как насчет 7-Zip ? Это открытый исходный код под LGPL (поэтому должен использоваться в вашем проекте) и в соответствии со спецификацией он поддерживает ZIP с шифрованием AES.

6 голосов
/ 04 декабря 2008

Если деньги - большая проблема, вы можете взять библиотеку с открытым исходным кодом, такую ​​как http://www.codeplex.com/DotNetZip,, которая теперь поддерживает AES

1 голос
/ 17 ноября 2014

Вы можете использовать #ZipLib (https://icsharpcode.github.io/SharpZipLib/),, что является легкой альтернативой DotNetZipLib.

Он предлагает класс FastZip, который уменьшает сжатие папки на жестком диске с шифрованием AES до 2-3 строк кода.

См. Вики для справки: https://github.com/icsharpcode/SharpZipLib/wiki/FastZip

Если вам нужно больше возможностей, #ZipLib становится немного сложнее, чем DotNetZipLib, но последний создал поврежденные ZIP-файлы в моем случае, поэтому я все равно использую SharpZipLib.

1 голос
/ 04 декабря 2008

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

...