小编kok*_*ole的帖子

反转CRC32

我找到了一个代码来反转CRC32,但我不知道它是如何工作的,因为我在编程方面不是那么好,我刚开始.我只想比较2个文件,旧的和新的,然后在新的修复中CRC32在文件的末尾添加4个字节,因此2个文件将具有相同的CRC32.这是代码,在C#中:

public class Crc32
{
    public const uint poly = 0xedb88320;
    public const uint startxor = 0xffffffff;

    static uint[] table = null;
    static uint[] revtable = null;

    public void FixChecksum(byte[] bytes, int length, int fixpos, uint wantcrc)
    {
        if (fixpos + 4 > length) return;

        uint crc = startxor;
        for (int i = 0; i < fixpos; i++) {
            crc = (crc >> 8) ^ table[(crc ^ bytes[i]) & 0xff];
        }

        Array.Copy(BitConverter.GetBytes(crc), 0, bytes, fixpos, 4);

        crc = wantcrc ^ …
Run Code Online (Sandbox Code Playgroud)

c# crc32 new-operator

0
推荐指数
1
解决办法
5905
查看次数

标签 统计

c# ×1

crc32 ×1

new-operator ×1