日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

常见的数据校验方法

發布時間:2023/12/20 编程问答 32 豆豆
生活随笔 收集整理的這篇文章主要介紹了 常见的数据校验方法 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

常見的數據校驗方法

?

1.??????校驗是什么

校驗,是為保護數據的完整性,用一種指定的算法對原始數據計算出的一個校驗值。當接收方用同樣的算法再算一次校驗值,如果兩次校驗值一樣,表示數據完整。

?

2.??????最簡單的校驗

實現方法:將原始數據和待比較的數據直接進行比較,看是否完全一樣。

特點:最安全準確效率最低

適用范圍:簡單的數據量極小的通訊

?

3.?????? 奇偶校驗

實現方法:在數據存儲和傳輸中,字節中額外增加一個比特位,用來傳送奇/偶校驗位來檢驗錯誤。

奇校驗:所有傳送的數位(含字符的各數位和校驗位)中,“1”的個數為奇數,如:

1 0110,0101

0 0110,0001

偶校驗:所有傳送的數位(含字符的各數位和校驗位)中,“1”的個數為偶數,如:

1 0100,0101

0 0100,0001

特點:能夠檢測出信息傳輸過程中的1位誤碼。

????? 出現錯誤后,不能進行修改,只能要求重發。

????? 簡單,應用范圍廣。

?

?

4.?????? CRC循環冗余校驗

實現方法:利用除數以及余數的原理進行錯誤檢測,將接收到的碼組進行除法運算?
,如果除盡,則說明傳輸無誤;如果未除盡,則表明傳輸出現差錯。

生成CRC碼的基本原理:任意一個由二進制位串組成的代碼都可以和一個系數僅為‘0’和‘1’取值的多項式一一對應。例如:代碼1010111對應的多項式為x6+x4+x2+x+1,而多項式為x5+x3+x2+x+1對應的代碼101111。

CRC碼集選擇的原則:若設碼字長度為N,信息字段為K位,校驗字段為R位(N=K+R),則對于CRC碼集中的任一碼字,存在且僅存在一個R次多項式g(x),使得

V(x)=A(x)g(x)=xRm(x)+r(x);

其中:??? m(x)為K次信息多項式, r(x)為R-1次校驗多項式,

???????? g(x)稱為生成多項式:

g(x)=g0+g1x+g2x2+...+g(R-1)x(R-1)+gRxR

發送方通過指定的g(x)產生CRC碼字,接收方則通過該g(x)來驗證收到的CRC碼字。

CRC校驗碼軟件生成方法:

??? 借助于多項式除法,其余數為校驗字段。

例如:信息字段代碼為: 1011001;對應m(x)=x6+x4+x3+1?

?????假設生成多項式為:g(x)=x4+x3+1;則對應g(x)的代碼為: 11001

????? x4m(x)=x10+x8+x7+x4?對應的代碼記為:10110010000;

采用多項式除法:? 得余數為: 1010???? (即校驗字段為:1010)

發送方:發出的傳輸字段為:?1 0 1 1 0 0 11 0 10

?????????????????????????信息字段??????校驗字段

接收方:使用相同的生成碼進行校驗:接收到的字段/生成碼(二進制除法)

?????????????????如果能夠除盡,則正確。

?

特點:信息字段和校驗字段的長度可以任意選定。

????? 編碼和解碼方法簡單,檢錯和糾錯能力強,在通信領域廣泛地用于實現差錯控制。

?

具體實現代碼見博客:http://blog.csdn.net/xiaoku

?

?

5.?????? bcc異或校驗法

實現方法:將所有數據都和一個指定的初始值(通常是0)異或一次,所得結果為校驗值。接收方收到數據后自己也計算一次異或和校驗值,如果和收到的校驗值一致就說明收到的數據是完整的。?

特點:應用于很多基于串口的通訊方法。

?

?

6.??? md5校驗和數字簽名

實現方法:主要有md5des算法。?

適用范圍:數據比較大或要求比較高的場合。如md5用于大量數據、文件校驗,des用于保密數據的校驗(數字簽名)等等。?

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

如客戶往我們數據中心同步一個文件,該文件使用MD5校驗,那么客戶在發送文件的同時會再發一個存有校驗碼的文件,我們拿到該文件后做MD5運算,得到的計算結果與客戶發送的校驗碼相比較,如果一致則認為客戶發送的文件沒有出錯,否則認為文件出錯需要重新發送。

總結

以上是生活随笔為你收集整理的常见的数据校验方法的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。