Я хочу написать функцию для вычисления хеша fnv1a32 "шестнадцатеричной строки".
Ex.
Ввод: ec8e76e0
Выход: 5F593BF1
Я пытаюсь код, как показано ниже, но это для нормальной строки, а также возвращаемое значение имеет тип int. я ищу функцию для работы с шестнадцатеричной строкой и возвращаемое значение типа hex.
def fnv32a(str):
hval = 0x811c9dc5
fnv_32_prime = 0x01000193
uint32_max = 0x100000000
for s in str:
hval = hval ^ ord(s)
hval = (hval * fnv_32_prime) % uint32_max
return hval