循環冗餘校驗(CRC)是一種根據網路數據封包或電腦檔案等數據產生簡短固定位數驗證碼的一種散列函數,主要用來檢測或校驗數據傳輸或者保存後可能出現的錯誤。生成的數字在傳輸或者儲存之前計算出來並且附加到數據後面,然後接收方進行檢驗確定數據是否發生變化。一般來說,循環冗餘校驗的值都是32位的整數。由於本函數易於用二進制的電腦硬件使用、容易進行數學分析並且尤其善於檢測傳輸通道干擾引起的錯誤,因此獲得廣泛應用。它是由W. Wesley Peterson在他1961年發表的論文中披露
CRC為校驗和的一種,是兩個字節數據流採用二進制除法(沒有進位,使用XOR異或來代替減法)相除所得到的餘數。其中被除數是需要計算校驗和的信息數據流的二進製表示;除數是一個長度為n + 1的預定義(短)的二進制數,通常用多項式的係數來表示。在做除法之前,要在信息數據之後先加上n個0.
資料來源:http://zh.wikipedia.org/wiki/%E5%BE%AA%E7%92%B0%E5%86%97%E9%A4%98%E6%A0%A1%E9%A9%97
| 3 |
| |
|