我知道来自Wikipedia的CRC计算算法。关于RAR文件的结构我也在Wikipedia中阅读。最后他们写道:
使用标准多项式0xEDB88320计算CRC。在 在这种情况下,CRC的大小小于4个字节,只有低位字节 使用。
我有WinRAR 3.91,在此文件中创建了示例存档和已检查字节,例如从7到19,它们是存档标题(MAIN_HEAD)。这些字节具有以下值:0x CF 90 73 00 00 0D 00 00 00 00 00 00 00,其中前2个字节(0x90CF)是HEAD_CRC(字段HEAD_TYPE到RESERVED2的CRC,即跟随字节:0x 73 00 00 0 00 00 00 00 00 00 00 00)。现在我如何组合这些值来获得正确的消息,这些消息必须被编码?
答案 0 :(得分:0)
你的问题很不清楚。如何组合它们是将前两个字节放在其他字节之前。
如果您询问如何从以下字节计算0x90cf,则使用标准ZIP CRC。您可以使用zlib(很可能已经在您的计算机上),可以从标准库中以某种形式访问。 73 00 00 0D 00 00 00 00 00 00 00
的CRC-32是0x974290cf
。低两个字节实际上是头的前两个字节,以小端顺序。