|
|
4、RAR 5.0 压缩文件格式的改变 |
|
文件时间存储为协调世界时间(UTC),替代以前的本地时间,这让文件在不同的时区内的交流更直观;
文件名和压缩文件注释使用 UTF-8 编码。 |
|
|
|
|
|
5、RAR 5.0 加密算法的改变 |
|
CBC 模式中加密算法由 AES-128 改变为 AES-256。关键推导函数是基于使用 HMAC-SHA256 的 PBKDF2;
特殊密码验证值允许不解压整个文件就能检测大部分错误密码;
如果压缩文件头没有加密 ("加密文件名" 选项关闭), 对于加密 RAR 5.0 文件的文件校验和被修改使用一种特殊的密码依赖算法,不可能基于校验和猜测文件内容。不
要期待这样的加密文件校验和匹配常规和 BLAKE2 和 CRC32 值。
|
|
|
|
|
|
|
|
7、删除的功能 |
|
身份验证功能的可靠性达不到所需的级别,功能被移除;
RAR 5.0 压缩文件由于总是添加压缩文件结束块,所以不支持开关 -en(不添加“压缩文件结束”块)。此块有助于帮助 WinRAR 安全跳过扩展数据,如附在压缩文件后的数字签名;
RAR 5.0 压缩文件不支持 arcname.rNN 风格的旧分卷名,只使用 arcname.partN.rar 卷名;
RAR 4.x 和 RAR 5.0 都不再支持文件注释了。控制台 RAR 的‘cf’命令被移除。这不影响压缩文件注释,此功能在两个压缩文件格式的版本中都支持,并且没有删除的计划。 |
|
|
|
|
|
8、RAR 5.0 压缩文件格式中恢复卷处理的更改 |
|
RAR 5.0 中最大 RAR+REV 卷数是65535,取代 255;
恢复卷的操作速度比 RAR 4.x 快;
除了恢复数据,RAR 5.0 REV 文件也存储了类似于文件校验和的服务信息来保护 RAR 文件。所以它们比它们要保护的 RAR 卷要稍大。所以如果你要把 RAR 和 REV 文件单独复制的移动媒介中,你需要把它考虑在内并指定 RAR 卷的大小比媒介的大小少几K字节。 |
|
|
|
|
|
9、你可以在压缩对话框的“高级”对话框中使用“把符号链接保存为链接”来保存并恢复 NTFS 符号链接和分析点为链接,它们的内容没有被压缩。 |
|
此选项的命令行等价开关是 -ol。NTFS 硬链接的类似选项是“把硬链接保存为链接”。它的命令行等价开关是 -oh。这两个选项仅可用于 RAR 5.0 压缩文件格式。 |
|
|
|
|
|
10、RAR 和 ZIP 压缩文件中的最大路径长度增加到 2048 个字符。 |
|
|
|
|
|
11、如果命令行检测到用户输入了错误的密码,它会返回退出码 11。 |
只有 RAR 5.0 压缩文件才能返回此代码。对于 RAR 4.x 文件它可以区分是密码错误还是数据损坏。 |
|
|
|
|
12、'v' 和 'l' 命令在行的末尾显示压缩的文件名,不是和以前一样显示在前面。以前仅在 ‘l’和‘v’中输出的某些字段现在仅由‘lt’和‘vt’显示。 |
|
'vt' 和 'lt' 命令提供每个压缩了的文件的详细多行信息。
'vta' 和 'lta' 的列表中还包含了服务头。 |
|
|
|
13、RAR 5.0 压缩文件可以使用 256位的 BLAKE2sp 哈希( https://blake2.net ) 代替 32
位的 CRC32 作为文件校验和。 |
|
可以在压缩对话框的“选项”页中启用“使用 BLAKE2 文件校验和”或在命令行中指定 -htb 开关来使用 BLAKE2 校验和。
在生成稍大的压缩文件时,BLAKE2 可以被用于文件内容识别。如果两个文件有相同BLAKE2 值,基本上就可以认定文件内容是相同的。BLAKE2 的错误检测性能比较短的CRC32 更强。 |
|
|
|
14、"测试" 命令验证 RAR 5.0 恢复记录的有效性 |
|
在处理完所有压缩文件后测试恢复记录。
如果损坏的压缩文件包含恢复记录,即使恢复记录验证测试失败也可能被修复。“修复”命令尝试利用部分受损的恢复记录。所以如果原始文件仍然可用,则把否定的恢复记录测试结果作为重建压缩文件的原因,而不是避免使用“修复”命令的原因。 |
|
|
|
|
|
15、现在WinRAR 和控制台 RAR 中类似于 'rar a arcname @filelist' 命令中的文件列表的默认字符集为 ANSI。 |
|
以前版本中 WinRAR 是 ANSI,控制台 RAR 是 OEM。你可以使用 -sc<字符集>l 开关取代此默认值。 |
|
|
|
|
|
16、WinRAR 内部查看器能检测并显示 UTF-8 和 UTF-16 小端字节序编码的文件 |
|
|
|
17、RAR 5.0 恢复记录基于里德-所罗门 ( Reed-Solomon ) 错误纠正码 |
|
如果恢复记录的大小足够大,5%或更多,新的纠错方案提供了比 RAR 4.x 更高的抗多种损害的能力。较小
的恢复记录,如 1 - 2%, 或较少的随机损坏类型时 4.x 和 5.0 的区别较少。对于单一连续损坏,4.x 和 5.0 的效率是相同的。
此外,通常的数据抹除,新的恢复记录比之前的 RAR 版本可以检测删除和插入更大的大小。最大的插入大小是几兆字节。最大的删除大小依赖于损坏的类型,在某些情况下可以和恢复记录的大小一样大。
不过,最好的恢复性能和效率是压缩文件没有删除和插入存在,包括受损区域的所有数据保持原来的位置。因此,如果你使用一些特殊的软件从损坏的媒介复制压缩文件,最好选择以零或任何其他数据填充受损区域的模式,而不是把它们完全从结果文件中切除。
RAR 5.0 恢复记录比恢复记录本身更耐损坏,可以利用部分损坏的恢复记录数据。但是,请注意,“修复”命令不修复恢复记录的损坏块。只有文件数据可以被更正。压缩文件修复成功后,您可能需要对保存的文件创建一个新的恢复记录。
新恢复记录不再是基于512字节区块,而是有更复杂的数据结构。所以不可能指定区块的大小。对于RAR 5.0 压缩文件 rr[N]开关和rr[N]命令的参数总是视为压缩文件大小的百分比,不管%字符是否存在。通常 N% 恢复记录可以修复 N%的连续损坏数据,增加压缩文件的大小仅略超过 N%。解决多个损坏的能力与N成正比。
我们使用 James S. Plank、Kevin M. Greenan 和 Ethan L. Miller 的 “Screaming Fast Galois Field Arithmetic Using Intel SIMD Instructions”论文来改进Reed-Solomon码性能。也感谢 Artem Drobanov 和 Bulat Ziganshin 提供例子和想法使Reed-Solomon码更有效率。 |
|
|
|
|
|
18、UTF-16 小端字节序编码被用于 RAR 和 WinRAR 日志文件 rar.log 中,所以 Unicode
文件名能在日志文件中正确存储。 |
|
WinRAR 会自动删除非 Unicode 格式的旧 rar.log 文件来避免同一日志文件中混合不同的编码。控制台 RAR 的情况下,你需要手动删除旧的 rar.log,否则 RAR 会在现有的 rar.log 后追加 UTF-16 的信息。
你可以使用 -sc<字符集>g 开关改变默认日志文件的编码,如 -scag 使用 ANSI 编码。 |
|
|
|
|
|
19、命令行 'r' (修复) 命令可以有一个附加的 目标路径\ 参数来定义修复好的压缩文件的目标文件夹: rar r archive.rar 目标路径\ |
|
|
|
|
|
|
|
|
|
|
|