Files
rfid_/venv/lib/python3.11/site-packages/chafon_rfid/checksum.py
2025-04-15 12:15:27 +02:00

19 lines
464 B
Python

import sys
PRESET_VALUE=0xFFFF
POLYNOMIAL=0x8408
def checksum(pucY):
uiCrcValue = PRESET_VALUE
for ucY in pucY:
uiCrcValue = uiCrcValue ^ ucY
for ucJ in range(8):
if uiCrcValue & 0x0001:
uiCrcValue = (uiCrcValue >> 1) ^ POLYNOMIAL;
else:
uiCrcValue = (uiCrcValue >> 1)
return uiCrcValue;
if __name__ == '__main__':
print('%X' % (checksum(bytearray.fromhex(sys.argv[1])),))