[Linux教程]解压密码不正确怎么办
本帖最后由 repksm 于 2025-5-14 17:15 编辑本文假设你了解基本的Linux操作, 仅讲解思路、原理和大致方案,并非面向大多数普通电脑用户!
问题
如果你从本站下载了一个zip压缩包, 解压时明明输入了正确的密码, 但提示密码不正确.
问题的原因
这可能是因为, 有些国产压缩软件会使用奇怪的文字编码来加密压缩包. 例如同样是"老王论坛"这四个字, 使用不同的编码就会得到不同的二进制表示, 进而导致压缩包的实际密码不同.
如何解决这个问题
或许有一些专用软件可以帮助你, 但我在这里只是想要分享一个自己常用的方案. 如果你是Linux用户或WSL用户, 或者你知道如何使用Linux/WSL, 你可以尝试一下.
1. 安装unzip和iconv
2. 修改这个bash脚本里的文件名和密码并运行它, 它会帮助你自动尝试几乎所有的中文编码. 它总能解决我的问题
# Input in UTF-8
password='你的中文密码'
zip=YourEncryptedFile.zip
target_codes=(
UTF-8 UTF-16 UTF-16BE UTF-16LE ISO-8859-1 ISO-2022-JP ISO-2022-CN SHIFT-JIS EUC-CN EUC-JP EUC-JP-MS EUCJP BIG5 CN CN-GB CN-BIG5 GB2312 GB18030 GBK EUC-KR ISO-2022-KR JOHAB
)
for target in "${target_codes[@]}"; do
echo TRYING $target
unzip -P $(printf "$password" | iconv -f UTF-8 -t $target) "$zip" && break
done
根据我的使用经验,此脚本有时仍然会遇到重新编码后的字符被shell重新解释的问题。这种情形可以使用python脚本,这个回答已经给出了解决方案(两个不同的回答分别针对traditional zip encryption和新的AES encryption),把编码改成gb2312等再尝试即可。
https://superuser.com/questions/1676282/how-to-decompress-an-encrypted-zip-file-with-ansi-encoded-password/1809355#1809355 repksm 发表于 2024-4-28 17:16
根据我的使用经验,此脚本有时仍然会遇到重新编码后的字符被shell重新解释的问题。这种情形可以使用python ...
不会使用怎么办,还有其他办法吗,解压都是密码错误,下载了也没用
页:
[1]