古詩詞大全網 - 成語用法 - 數據校驗的校驗方法

數據校驗的校驗方法

實現方法:最簡單的校驗就是把原始數據和待比較數據直接進行比較,看是否完全壹樣這種方法是最安全最準確的。同時也是效率最低的。

應用例子:龍珠cpu在線調試工具bbug.exe。它和龍珠cpu間通訊時,bbug發送壹個字節cpu返回收到的字節,bbug確認是剛才發送字節後才繼續發送下壹個字節的。 實現方法:在數據存儲和傳輸中,字節中額外增加壹個比特位,用來檢驗錯誤。校驗位可以通過數據位異或計算出來。

應用例子:單片機串口通訊有壹模式就是8位數據通訊,另加第9位用於放校驗值。

bcc異或校驗法(block check character)

實現方法:很多基於串口的通訊都用這種既簡單又相當準確的方法。它就是把所有數據都和壹個指定的初始值(通常是0)異或壹次,最後的結果就是校驗值,通常把它附在通訊數據的最後壹起發送出去。接收方收到數據後自己也計算壹次異或和校驗值,如果和收到的校驗值壹致就說明收到的數據是完整的。

校驗值計算的代碼類似於:

unsigned uCRC=0;//校驗初始值

for(int i=0;i<DataLenth;i++) uCRC^=Data[i];

適用範圍:適用於大多數要求不高的數據通訊。

應用例子:ic卡接口通訊、很多單片機系統的串口通訊都使用。 (Cyclic Redundancy Check)

實現方法:這是利用除法及余數的原理來進行錯誤檢測的.將接收到的碼組進行除法運算,如果除盡,則說明傳輸無誤;如果未除盡,則表明傳輸出現差錯。crc校驗具還有自動糾錯能力。

crc檢驗主要有計算法和查表法兩種方法,網上很多實現代碼。

適用範圍:CRC-12碼通常用來傳送6-bit字符串;CRC-16及CRC-CCITT碼則用是來傳送8-bit字符。CRC-32:硬盤數據,網絡傳輸等。

應用例子:rar,以太網卡芯片、MPEG解碼芯片中 實現方法:主要有md5和des算法。

適用範圍:數據比較大或要求比較高的場合。如md5用於大量數據、文件校驗,des用於保

密數據的校驗(數字簽名)等等。

應用例子:文件校驗、銀行系統的交易數據