我可以在不重新压缩存档的情况下删除 RAR 文件的(已知)密码吗?

Abl*_*rab 10 passwords rar winrar

我知道 RAR 文件的密码,因为我自己锁定了它。有没有办法在 WinRAR 或等效程序中做到这一点?我唯一知道要做的就是提取它,然后创建一个没有密码的新 RAR。

Bre*_*ugh 16

开箱即用,不,你不能。 RAR 文件格式的第 3 版(首先在 WinRAR 2.9 中实现)使用 AES-128 加密对实际数据本身以及文件头(如果需要)进行加密。仅使用 WinRAR,不可能简单地从档案中“删除”密码,因为数据本身是用密码加密的。

您可以制作一个实现“删除密码”功能的快速批处理文件,该功能可以简单地解压缩存档,然后在没有密码的情况下重新压缩文件。


从技术上讲,数据在加密之前被压缩。这表明,如果对RAR文件格式本身有足够的了解,就可以创建一种工具来对压缩文件的数据流进行 AES 解密,然后将其保存到新的RAR存档中。然而,应该注意的是,这需要对文件格式本身有广泛的了解。

考虑到支持受密码保护的 RAR 文件(例如unar)的开源工具的数量,人们可以通过阅读现有的源代码,然后使用解密但仍然压缩的比特流来生成新的 RAR 存档来学习如何做到这一点. 但是,这远非一项微不足道的任务,因为您还必须手动重建 RAR 标头(或至少确保文件格式的兼容性)。

  • 不,从逻辑上讲,_应该_可以在不解压缩的情况下解密数据,因为它是_加密的压缩_数据,而不是_压缩的加密_数据。(后者从根本上是不可能的,因为加密会增加熵)。这只是一件足够晦涩的事情,以至于它被省略了。 (2认同)

Jon*_*rah 5

实际上,我认为另一个问题先前答案已经回答了这个问题

您可以使用此方法来完成。Tools > Convert Archives > Compression > General > Set Password >然后单击确定并保存:)

但它重新压缩了存档。