我正在寻找一种用 JavaScript 编写并在普通浏览器中运行的 CRC-16 CRC 算法。我知道有大量以各种编程语言实现 CRC-16 的代码示例。但我仍然无法解决我的问题。以下示例显示了 NodeJ 的 CRC-16 校验和检查。
https://github.com/donvercety/node-crc16/blob/master/crc16.js
为了让 NodeJS 代码在普通浏览器中运行,我对其进行了如下修改。
const crctab16 = new Uint16Array([
0X0000, 0X1189, 0X2312, 0X329B, 0X4624, 0X57AD, 0X6536, 0X74BF,
0X8C48, 0X9DC1, 0XAF5A, 0XBED3, 0XCA6C, 0XDBE5, 0XE97E, 0XF8F7,
0X1081, 0X0108, 0X3393, 0X221A, 0X56A5, 0X472C, 0X75B7, 0X643E,
0X9CC9, 0X8D40, 0XBFDB, 0XAE52, 0XDAED, 0XCB64, 0XF9FF, 0XE876,
0X2102, 0X308B, 0X0210, 0X1399, 0X6726, 0X76AF, 0X4434, 0X55BD,
0XAD4A, 0XBCC3, 0X8E58, 0X9FD1, 0XEB6E, 0XFAE7, 0XC87C, 0XD9F5,
0X3183, 0X200A, 0X1291, 0X0318, 0X77A7, 0X662E, 0X54B5, 0X453C,
0XBDCB, 0XAC42, 0X9ED9, …
Run Code Online (Sandbox Code Playgroud)