CRC-16 > 色々あるようだ | On-line CRC calculation and free library


CRC-16の実装コード(C++)がある。

Python実装は以下で見つけた。
https://gist.github.com/oysstu/68072c44c02879a2abf94ef350d1c7c6

比較してみた。結果が異なる。

CRC-16と言っても色々あるようだ。
https://blogs.yahoo.co.jp/edamatsu_denki/24482845.html

・CRC16-IBM (x16 + x15 + x2 + 1)
・CRC16-ANSI (x16 + x15 + x5 + 1)
・CRC16-CCITT (x16 + x12 + x5 + 1)
・CRC16-XMODEM (x16 + x12 + x5 + 1)

C++実装はCRC-16(Modbus)。
PythonのコードはCRC-16-CCITT。

On-line CRC calculation and free library
にさらに多くの種類が紹介されている。