在Python中计算“hex string”的fnv1a32散列

2024-09-27 00:14:14 发布

您现在位置:Python中文网/ 问答频道 /正文

我想写一个函数来计算“十六进制字符串”的fnv1a32散列。你知道吗

例如。 输入:ec8e76e0 输出:5F593BF1

我正在尝试下面这样的代码,但它是正常的字符串和返回值也是int类型。我正在寻找函数来处理十六进制字符串和返回输出类型是十六进制。你知道吗

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

Tags: 函数字符串代码类型defprimemaxint

热门问题