我需要使用 7zip 在 Linux 中使用 AES-256 加密压缩一些文件。最终用户将在 Windows 中使用 7zip 打开。我使用以下命令:
7za a myfile.zip test.txt -tzip -mem=AES256 -mx9
问题是,当我在 Windows 中打开 zip 存档时,方法显示“Deflate”并且没有提到任何有关 AES-256 的信息。
我(更重要的是最终用户)如何确定它使用 AES-256 作为加密方法?
这是文档关于如何设置加密方法,我相信我已经正确设置了。
Linux 7za 版本:
me@myhost~> 7za -version
7-Zip (A) [64] 9.20 Copyright (c) 1999-2010 Igor Pavlov 2010-11-18
p7zip Version 9.20 (locale=en_US.UTF-8,Utf16=on,HugeFiles=on,4 CPUs)
Linux 主机是 SLES 11 SP2,Windows 主机是 Windows 7。
答案1
7-Zip 将拒绝加密数据,除非您提供密码,因为它不知道您要使用什么密钥来加密数据:
7za a myfile.zip test.txt -tzip -mem=AES256 -mx9 -pmypassword
答案2
我(更重要的是最终用户)如何确定它使用 AES-256 作为加密方法?
您可以使用7z l -slt myfile.zip
,它应该输出AES-256
(除其他外)。
如果您选择 7z 格式(例如7za a -t7z myfile.7z test.txt -tzip -mem=AES256 -mx9 -pmypassword
),7z l -slt myfile.7z
应该输出7zAES:19
(与 相同AES-256
)。
https://sourceforge.net/p/p7zip/patches/25/#3da5:
Igor Pavlov:
7zAES:19
意味着密码到密钥函数中的 AES-256 + (2^19) SHA-256 迭代。