常見校驗演算法
一、校驗演算法
奇偶校驗
md5校驗
求校驗和
bcc(block check character/
資訊組校驗碼
,好像也是常說的異或校驗方法
crc(cyclic redundancy check/
迴圈冗餘校驗)
lrclongitudinal redundancy check/
縱向冗餘校驗)
二、奇偶校驗
記憶體中最小的單位是位元,也稱為
位,位有只有兩種狀態分別以
和來標示,每
個連續的位元叫做乙個位元組(
byte
)。不帶奇偶校驗的記憶體每個位元組只有
位,如果其某一
位儲存了錯誤的值,
就會導致其儲存的相應資料發生變化,
進而導致應用程式發生錯誤。
而奇偶校驗就是在每一位元組(
位)之外又增加了一位作為錯誤檢測位。在某位元組中儲存資料
之後,在其
個位上儲存的資料是固定的,
因為位只能有兩種狀態
或假設儲存的資料
用位標示為
,那麼把每個位相加(
),結果是奇數,那麼在校驗位定義為
,反之為
。當cpu
讀取儲存的資料時,它會再
次把前位中儲存的資料相加,計算結果是否與校驗位相一致。從而一定程度上能檢測出
記憶體錯誤,
奇偶校驗只能檢測出錯誤而無法對其進行修正,
同時雖然雙位同時發生錯誤的概
率相當低,但奇偶校驗卻無法檢測出雙位錯誤
三、md5
校驗md5
的全稱是
message-digest algorithm 5
在年代初由
mit的電腦科學實驗室
和rsa data security inc
發明,由
md2/md3/md4
發展而來的。
md5的實際應用是對一
段message(
位元組串產生
fingerprint(
指紋可以防止被
篡改舉個例子,
天天安全網提供
md5校驗值軟體
winmd5.zip
其md5
值是1e07ab3591d25583eff5129293dc98d2
md5發現其值卻是
81395f50b94bb4891a4ce4ffb6ccf64b
,那說明
該zip
已經被他人修改過,那還用不用該軟體那你可自己琢磨著看啦。
四、求校驗和
求校驗和其實是一種或運算。如下:
如下是計算校驗位函式
// checkdata
,包括起始位在內的前九位資料的校驗和
unsigned char clu_checkdata(void)
求校驗和
unsigned char checkdata=0;
for(point=0;point<9,ti=1;point++)
checkdata=checkdata | buffer[point];
return(checkdata);
四、bcc(block check character/
資訊組校驗符號
CRC冗餘校驗演算法 MTU
crc原理 先選擇乙個用於在接收端進行校驗時,對接收的貞進行除法運算的除數 看所選定的除數的二進位制位數 假定為k位 然後要在要求傳送的資料幀後面加上k 1位0,然後這個加了k 1位0的新幀中,以模2除法的方式,除以上面這個除數,所得到的係數就是該幀的crc校驗碼。把這個校驗碼附在源資料幀的後面 不...
校驗和計算方法
1.說明 1 校驗和覆蓋的內容 ip校驗和 ip首部。icmp校驗和 icmp首部 icmp資料 2.計算校驗和的步驟 1 把校驗和字段設定為0。2 把需要校驗的資料看成以16位為單位的數字組成,依次進行二進位制反碼求和。3 把得到的結果存入校驗和字段中。另外udp tcp資料報的長度可以為奇數位元...
CRC 迴圈冗餘校驗碼 的計算方法
迴圈冗餘校驗crc cyclical redundancy check 字段位於尾部,有32位,有時稱為ieee ansi標準的crc32.要使用乙個n位crc監測 資料傳輸錯誤,被檢查的訊息首先要追加n位0形成乙個擴充套件訊息 使用模2除法 除以乙個n 1位的值,這個作為出書的紙稱為生成 多項式。...