7
CRC32チェックサムはどのように計算されますか?
多分私はそれを見ていないだけかもしれませんが、CRC32は不必要に複雑であるか、ウェブ上で見つけることができるどこでも十分に説明されていないようです。 (生成)多項式で除算された、メッセージ値の非キャリーベースの算術除算の余りであることを理解していますが、それを実際に実装すると私はエスケープされます。 私はCRCエラー検出アルゴリズムの痛みのないガイドを読みました。それは理論をかなりうまく行きます、しかし著者は単純な「これだけです」に決して行きません。彼は標準のCRC32アルゴリズムのパラメーターは何かと言っていますが、どのようにしてそれを実現するかを明確に説明することを怠っています。 私を引き付ける部分は、彼が「これだ」と言ってから付け加えたときです。追加したすべての変更を指定してCRC32チェックサムを計算する方法。 CRC32の計算方法の簡単な説明はありますか? テーブルがどのように形成されるかをCでコーディングしようとしました: for (i = 0; i < 256; i++) { temp = i; for (j = 0; j < 8; j++) { if (temp & 1) { temp >>= 1; temp ^= 0xEDB88320; } else {temp >>= 1;} } testcrc[i] = temp; } しかし、これはインターネット上の他の場所で見つけた値と一致しない値を生成するようです。私は可能性があり、私はオンラインで見つけるの値を使用しますが、私は彼らが作成されたかを理解したいと思います。 これらの非常に紛らわしい数値を解決するための助けがあれば非常にありがたいです。