首先加密算法只是变换,不会关心你的密钥是否正确。 rar 用错误密码解密并且选中保留损坏的文件,得到的就是你想要的无确认密码的加解密(得到一堆无用的二进制)。
根据 rar 的描述
http://www.rarlab.com/technote.htm#encheadIf flag 0x0002 is present, RAR transforms the checksum preserving file or service data integrity, so it becomes dependent on encryption key. It makes guessing file contents based on checksum impossible. It affects both data CRC32 in file header and checksums in file hash record in extra area.
checksum 是密码相关联的,因此对于寻找正确的密码没有帮助。
另外 @
zjqzxc 的说法是正确的,人眼看不过来,但是有专门的库(比如 libmagic)用于识别文件类型,因此即使没有这个额外的确认信息,也不会减少被破解的可能。
你所描述的,其实是"裸"加密,去掉加密之外的一切信息,只剩下变换后的二进制。你自己随便编一个可逆变换就可以了。别人打死也猜不出来一个你乱编的算法是怎么变换的,当然也就没法解密了。