ich versuche mich gerade daran eine CRC32-Checksumme durch Python berechnen zu lassen. Es könnte gut sein, dass ich das Verfahren hierfür noch nicht ganz verstanden habe. Für den Algo hab ich mich an dem folgenden Beispiel gehalten: https://en.wikipedia.org/wiki/Cyclic_re ... _algorithm
Also habe ich geguckt wie man eine Tabelle erstellt und dann versucht den Rest umzusetzen:
Code: Alles auswählen
def create_table():
a = []
for i in range(256):
k = i
for j in range(8):
if k & 1:
k ^= 0x4C11DB7
k >>= 1
a.append(k)
return a
def crc32(bytestream):
crc_table = create_table()
crc32 = 0xffffffff
for byte in range( len(bytestream) ):
lookup_index = (crc32 ^ byte) & 0xff
crc32 = (crc32 >> 8) ^ crc_table[lookup_index]
return crc32
print(hex(crc32(b"1205")))
Um diesen nun zu prüfen habe ich eine Webseite zum Vergleich verwendet (http://www.sunshine2k.de/coding/javascr ... rc_js.html).
Jedoch war das Resultat ein anderes: 0xA7D10A0A
Es ist zu beachten, dass ich hierbei die Custom Funktion mit folgenden Einstellungen verwendet habe:
kein Input reflected und Result reflected
Polynomial: 0x4C11DB7
Initial Value: 0xFFFFFFFF
final Xor Value: 0x00
Steh ich auf dem Schlauch oder hab ich das Thema total falsch verstanden?