js實現國標212CRC校驗

2021-10-21 02:36:27 字數 948 閱讀 3680

1、計算方法

1) crc16 校驗暫存器賦值為 0xffff;

2) 取被校驗串的第乙個位元組賦值給臨時暫存器;

3) 臨時暫存器與 crc16 校驗暫存器的高位位元組進行「異或」運算,賦值給 crc16 校驗暫存器;

4) 取 crc16 校驗暫存器最後一位賦值給檢測暫存器;

5) 把 crc16 校驗暫存器右移一位;

6) 若檢測暫存器值為 1,crc16 校驗暫存器與多項式 0xa001 進行「異或」運算,賦值給 crc16 校驗暫存器;

7) 重複步驟 4~6,直至移出 8 位;

8) 取被校驗串的下乙個位元組賦值給臨時暫存器;

9) 重複步驟 3~8,直至被校驗串的所有位元組均被校驗;

10) 返回 crc16 校驗暫存器的值。

**:

/**

* 字串轉byte陣列

* @param str

* @returns

*/function

stringtobyte

(str)

while

( chararr )

; resultarr = resultarr.

concat

( starr.

reverse()

);}return resultarr;

}/**

* 國標212協議crc校驗

* @param data string型別字串

* @returns 十六進製制字串

* @constructor

*/function

gb212_crc

(data)}}

return crcvalue.

tostring(16

)}function

testgb212()

Python 實現CRC校驗計算

class crc 迴圈冗餘檢驗 parameters info list 需要被編碼的資訊 crc n int,default 32 生成多項式的階數 p list 生成多項式 q list crc後得到的商 check code list crc後得到的餘數,即計算得到的校驗碼 code lis...

C 實現CRC校驗演算法

2007 06 16 10 06 by l,2734 visits,收藏,編輯 region crc校驗 crc高位校驗碼checkcrchigh static byte arraycrchigh crc地位校驗碼checkcrclow static byte checkcrclow crc校驗 校...

CRC32校驗 c實現

環境 vs2013 成功編譯並執行 include include include pragma warning disable 4996 這樣防止警告 dword crc32table 256 0x04 c1 1d b7 dword bitreverse dword poly 進行位顛倒 retu...