C 校驗演算法列舉

2022-02-21 06:41:01 字數 1038 閱讀 4676

以下是工作中常用的幾種校驗演算法,後期將不斷更新

和校驗

///

///cs和校驗

/// ///

要進行cs和校驗的byte陣列.

///system.byte.

public

static

byte cschecksum(byte

bytestocalc)

//實際上num 這裡已經是結果了,如果只是取int 可以直接返回了

return

bitconverter.getbytes(num);

}

crc16校驗

///

///計算crc16.

/// ///

the frame.

///the n0.

///the n1.

///設定為

true

高位在前.

///system.byte.

private

byte crc16(byte frame, int n0, int n1, bool

highfirst)

}var acrc = new

byte[2

];

if(highfirst)

else

return

acrc;

}

crc32演算法 未進行測試 **

///

///計算給定長度資料的32位crc

/// ///

要計算crc的位元組陣列

///crc值

public

static

uint32 getcrc32(byte data)

}return ~crcvalue;

}private

static

readonly uint32 crc32table =;

}

TCP UDP 校驗演算法

經常看計算機網路相關的書時,每次看到關於ip或者是udp報頭校驗和時,都是一笑而過,以為相當簡單的東西,不就是16bit資料的相加嗎!最近在學習ping命令的源待時,看到裡面有關於校驗和的演算法。一頭霧水,後來查詢資料,看到校驗和是16bit字的二進位制反碼和。總是覺得很奇怪,為什麼會用反碼和,而不...

C 實現CRC校驗演算法

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

VB CRC校驗演算法實現

以下是crc16位 校驗函式,使用的是查表法 private function crc16 data as byte as string dim crc16hi as byte dim crc16lo as byte crc16hi hff crc16lo hff dim i as integer ...