Nodejs 實現乙個CRC16校驗

2022-09-06 09:54:14 字數 531 閱讀 9536

近日在開發乙個資料平台,據說nodejs比較適合dirt型別的程式,所以也搞了一把,雖然接收、**及其報文解析等功能順利的實現了,但是由於某些報文涉及到應答,故而需要crc校驗,也算是乙個小坑吧,故而記錄一下。

//完整報文

//##0101qn=20160801085857223;st=32;cn=1062;pw=100000;mn=010000a8900016f000169dc0;flag=5;cp=&&rtdinterval=30&&1c80\r\n

//需校驗的資料段

var msg = 'qn=20160801085857223;st=32;cn=1062;pw=100000;mn=010000a8900016f000169dc0;flag=5;cp=&&rtdinterval=30&&'

function crc16(str)

} }return crc;

}var crc = crc16(msg);

console.log(crc.tostring(16).touppercase());

CRC16校驗演算法實現

迴圈冗餘碼校驗英文名稱為cyclical redundancy check,簡稱crc。它是利用除法及餘數的原理來作錯誤偵測 error detecting 的。實際應用時,傳送裝置計算出crc值並隨資料一同傳送給接收裝置,接收裝置對收到的資料重新計算crc並與收到的crc相比較,若兩個crc值不同...

CRC16 演算法及c實現

標準crc生成多項式如下表 名稱 生成多項式 簡記式 標準引用 crc 4 x4 x 1 3 itu g.704 crc 8 x8 x5 x4 1 0x31 crc 8 x8 x2 x1 1 0x07 crc 8 x8 x6 x4 x3 x2 x1 0x5e crc 12 x12 x11 x3 x ...

查詢表實現的CRC16

include include include crc16查詢表生成 table 256 存放查詢表的陣列 generator 生成多項式,x 16 x 12 x 5 1,其生成多項式為0x1021 void crc16 make table u int16 t table 256 const u ...