我从 Wikipedia 上了解到CRC计算算法。关于RAR文件的结构,我在这里读到过。例如,文章中写道:
如果我理解正确的话,HEAD_CRC(0x6152)是标志块(MARK_HEAD)的CRC值。我在某处读到,在WinRAR文件中,CRC是通过标准的多项式0xEDB88320来计算的,但当CRC的大小小于4个字节时,需要使用较低有效字节。在这种情况下(当然如果我理解正确),CRC值为0x6152,因此它有2个字节。现在,我不知道该取哪些字节作为较低有效位。从标准多项式(0xEDB88320)中?那么0x8320可能是这个多项式的较低有效字节。接下来,如果我们已经有了正确的多项式,如何计算标记块的CRC(即以下字节:0x52 61 72 21 1A 07 00)?The file has the magic number of:
0x 52 61 72 21 1A 07 00
Which is a break down of the following to describe an Archive Header:
0x6152 - HEAD_CRC 0x72 - HEAD_TYPE 0x1A21 - HEAD_FLAGS 0x0007 - HEAD_SIZE