代码之家  ›  专栏  ›  技术社区  ›  Evan

在Windows上以编程方式解压缩AES加密的zip文件

  •  2
  • Evan  · 技术社区  · 14 年前

    通常规定的InfoZip库不支持AES加密。

    目前我的最佳解决方案是从我的程序中调用7z.exe命令行程序,但考虑到我要解压缩100个左右的文件,这就不太理想了。

    3 回复  |  直到 14 年前
        1
  •  5
  •   Nathan Moinvaziri Cloud    12 年前

    下面是minizipzlib的贡献,它支持AES加密和解密。 https://github.com/nmoinvaz/minizip

        2
  •  0
  •   Cheeso    14 年前

    DotNetZip 我能做到。如果您不反对使用托管C++。

    DotNetZip documentation 创造 AES加密的zip文件。(要提取的代码类似)。

    #include "stdafx.h"
    
    using namespace System;
    using namespace Ionic::Zip;
    
    int main(array<System::String ^> ^args)
    {
        Console::WriteLine(L"Hello World");
    
        ZipFile ^ zip;
        try
        {
            zip = gcnew ZipFile();
            zip->Password = "Harbinger";
            zip->Encryption = EncryptionAlgorithm::WinZipAes128;
            zip->AddEntry("Readme.txt", "This is the content for the Readme.txt entry.");
            zip->Save("test.zip");
        }
        finally
        {
            zip->~ZipFile();
        }
    
        Console::WriteLine(L"Press <ENTER> to quit.");
        Console::ReadLine();
        return 0;
    }
    

        3
  •  0
  •   Ahmad Kayyali Check    14 年前