Python是一種非常流行的編程語言,可以幫助我們實現(xiàn)許多不同的計算和算法。其中一項非常重要的功能是crc校驗,通常用于檢查數(shù)據(jù)的完整性。
def crc_remainder(input_bitstring, polynomial_bitstring, initial_filler): polynomial_bitstring = polynomial_bitstring.lstrip('0') initial_padding = initial_filler * (len(polynomial_bitstring) - 1) input_padded = list(input_bitstring + initial_padding) while '1' in input_padded[:len(input_bitstring)]: cur_shift = input_padded.index('1') for i in range(len(polynomial_bitstring)): input_padded[cur_shift + i] = str((int(polynomial_bitstring[i]) + int(input_padded[cur_shift + i])) % 2) return ''.join(input_padded)[len(input_bitstring):]
CRC校驗的過程包括以下步驟:
- 在信息位添加一個預(yù)先定好的位數(shù)的 0。
- 計算余數(shù),如果余數(shù)非零,數(shù)據(jù)就被認(rèn)為是損壞的。
以上過程可以通過使用Python中的以下函數(shù)來輕松實現(xiàn):
def crc(string, polynomial): crc_remainder(string, polynomial, '0')
當(dāng)我們需要檢查數(shù)據(jù)的完整性時,我們只需要輸入數(shù)據(jù)和所使用的多項式,并使用這些函數(shù)即可。這將返回CRC校驗結(jié)果,如果結(jié)果為0,則說明數(shù)據(jù)沒有被篡改。
上一篇eclipse添加php
下一篇eclipse支持php