Skip to content

Checksum function does not work for odd-sized data #1

@ahahahahahah

Description

@ahahahahahah

Checksum function does not work for odd-sized data. Here is the one I use:
def checksum(data):
s = 0
n = len(data) % 2
if n:
data = data + '\0'
for i in range(0, len(data)-n, 2):
s+= ord(data[i]) + (ord(data[i+1]) << 8)
while (s >> 16):
print("s >> 16: ", s >> 16)
s = (s & 0xFFFF) + (s >> 16)
print("sum:", s)
s = ~s & 0xffff
return s

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions