出于我无法理解的原因,我们想要在 Linux 上创建用 AES-256 加密的 zip 格式,其密码可以是国际密码。
如果我们使用 7-zip,我发现它在创建 7z 文件时有效,即以下内容:
7za a -t7z -p密码 test.7z ok.txt
但是,如果创建 zip 文件,则相同的命令将会失败并出现错误,如下所示:
7za a -tzip -p密码 test.zip ok.txt
有什么办法可以解决这个问题吗?
我们不必拘泥于 7-zip 命令,任何可以在 Linux 上使用国际字符创建 AES-256 密码的 zip 格式的方法都可以。
请注意,由于我所不知道的原因,我们不能使用 7zip 格式。
这很令人惊讶,因为我检查了 Python、Perl、Go、Rust、C,它们都没有提供(成熟的)模块来实现这一点,除非求助于商业软件公司 Chilkat。详情如下:
Python:使用 AES 创建 zip 的唯一模块是“pyzipper”,但它不适用于非 ASCII 密码
Perl:其免费模块均不能使用 AES 进行 zip 压缩。
Go:其使用 AES 进行 zip 处理的模块仍处于 Alpha 阶段。
Rust:没有看到它具有使用 AES 进行 zip 处理的模块。
C:这些页面非常有趣: https://www.winzip.com/en/support/aes-encryption/tips/ https://github.com/abhay/gladman-aes 然而,由于 Winzip 网页中提到的各种问题,期望我们完成所有编码来实现正确的加密程序仍然遥不可及。
我可能遗漏了一些东西,如您指出我将不胜感激。
谢谢!