Шифрование/дешифрование с использованием класса ZipArchive

Я провел некоторое расследование и не вижу собственного способа реализовать шифрование/дешифрование с использованием класса ZipArchive.

https://msdn.microsoft.com/en-us/library/system.io.compression.ziparchive(v=vs.110).aspx

Похоже, MSDN не предоставляет такой возможности...

Прав ли я, а если нет, то как зашифровать/расшифровать ZIP с помощью класса ZipArchive?

Спасибо!

P.S. Хороший ли это подход? Шифровать существующий zip-файл


person DmitryBoyko    schedule 02.03.2016    source источник
comment
Вам нужно стандартное zip-шифрование или специальное?   -  person mkysoft    schedule 15.03.2016
comment
@mkysoft Для меня лучший выбор — использовать классы, которые Microsoft предоставляет для управления ZIP. Если он имеет стандартное ZIP-шифрование, этого будет достаточно. Спасибо!   -  person DmitryBoyko    schedule 15.03.2016
comment
.Net framework не поддерживает шифрование в ziparchive. Если вы не можете использовать стороннюю библиотеку, вы можете реализовать только класс шифрования по стандарту, указанному @Hans.   -  person mkysoft    schedule 16.03.2016


Ответы (1)


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

Вам придется вернуться к библиотекам, которые были популярны до того, как в .NET появилась поддержка zip-файлов. Много на выбор, SharpZipLib и DotNetZip, где ведущие претенденты. Оба поддерживают пароль для архива и позволяют управлять алгоритмом шифрования при создании архива, что важно, если вам небезразличен слабый алгоритм Zip 2.0.

person Community    schedule 15.03.2016