fnv 0.2.0用法类型错误

时间:2017-12-31 12:53:29

标签: python fnv

我正在尝试在python-3.6上使用fnv哈希函数,但我收到错误

  

追踪(最近一次通话):    文件" C:/Users/SACHIN/AppData/Local/Programs/Python/Python36/bloom.py" ;,第4行,在模块中       fnv.hash(data,algorithm = fnv.fnv_1a,bits = 64)     文件" C:\ Users \ SACHIN \ AppData \ Local \ Programs \ Python \ Python36 \ lib \ site-packages \ fnv__init __。py",第52行,哈希       OFFSET_BASIS [比特]     文件" C:\ Users \ SACHIN \ AppData \ Local \ Programs \ Python \ Python36 \ lib \ site-packages \ fnv__init __。py",第28行,fnv_1a       return ensure_bits_count((hash_value ^ byte)* PRIMES [bits],bits)   TypeError:^:' int'不支持的操作数类型和' str'

代码

import fnv

data = 'my data'
fnv.hash(data, algorithm=fnv.fnv_1a, bits=64)
fnv.hash(data, bits=64)
fnv.hash(data, algorithm=fnv.fnv, bits=64)

完全从https://pypi.python.org/pypi/fnv/0.2.0

复制而来

请让我知道究竟出了什么问题。

1 个答案:

答案 0 :(得分:0)

今天刚遇到这个错误。我通过编码字符串来解决它。例如,下面的所有方法都可以。

import fnv

data = 'my data'
fnv.hash(data.encode(), algorithm=fnv.fnv_1a, bits=64)
fnv.hash(data.encode('ascii'), bits=64)
fnv.hash(data.encode('utf-8'), algorithm=fnv.fnv, bits=64)