Существуют ли библиотеки сжатия и шифрования в C#?

StackOverflow https://stackoverflow.com/questions/71077

  •  09-06-2019
  •  | 
  •  

Вопрос

Я хочу сжать некоторые файлы (в Почтовый индекс формате) и зашифруйте их, если возможно, с помощью C#.Есть ли способ сделать это?

Можно ли выполнить шифрование как часть самого сжатия?

Это было полезно?

Решение

Информацию о сжатии см. System.IO.Compression пространство имен и для шифрования посмотрите System.Security.Cryptography.

Другие советы

Вы видели сжатие ZIP? http://www.icsharpcode.net/OpenSource/SharpZipLib/

Я знаю, что вопрос уже старый, но я должен добавить свои два цента.

Сначала несколько определений:

  • Почтовый индекс:Формат архива для перегруппировки файлов и папок в один файл и опционального шифрования данных.
  • Сдуть:Один из алгоритмов сжатия, используемый в Zip-файле для сжатия данных.Самый популярный.
  • GZip:Один файл, сжатый с помощью Deflate, с небольшим верхним и нижним колонтитулом.

Теперь System.IO.Compression делает нет сделать Zip-архивацию.Оно делает сдувать и gzip сжатие, таким образом сжимает один блок данных в другой один блок данных.

Итак, если вы ищете формат архива, который может группировать множество файлов и папок, вам нужны библиотеки Zip, такие как:

Если вам нужно сжать и зашифровать только один блок данных, посмотрите раздел System.IO.Compression и Система.Безопасность.Криптография.

А GZipStream class — это собственный способ обработки сжатия.

Что касается шифрования, то есть много способы для этого большинство из них находятся в пространстве имен System.Security.Их можно сделать цепочками (зашифровать сжатый поток или сжать зашифрованный поток).

Чилкат предоставляет библиотеки .NET для сжатия и шифрования.

Я не уверен, можно ли объединить эти шаги, но .NET имеет хорошую поддержку базового шифрования.Вот статья об этом.

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

Вот полезная тема:

Помощь в создании Zip-файлов из .Net и их чтении из Java.

Пространство имен System.IO.Packaging предоставляет полезные классы для сжатия данных в формате zip и поддерживать управление правами.

Непосредственно в C# нет ничего, что можно было бы использовать, однако вы можете использовать некоторые библиотеки из J#, чтобы сделать это за вас:

http://msdn.microsoft.com/en-us/magazine/cc164129.aspx

Должен делать только то, что хочешь?

Что касается шифрования, взгляните на эти ссылки:

http://www.codeproject.com/KB/security/fileencryptdecrypt.aspx

http://www.obviex.com/samples/EncryptionWithSalt.aspx

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top