从一组不同数据类型的值中获取哈希值的好方法是什么?(在Python中)?
需要以一致的顺序对值进行哈希处理。需要散列的值是字符串和整数。
value1 = 'coconut'
value2 = 1.23
hash = Sha1Hash(value1, value2)
总是可以连接成一个字符串,但感觉这不太理想:
hash = Sha1Hash( '%s%s' % (value1, value2))
答案 0 :(得分:2)
答案 1 :(得分:1)
看起来你想要一个sha1哈希值。 Python带有sha1哈希函数,但它需要一个字符串作为输入。因此,您的数据(value1, value2)
需要序列化。
由于您的数据仅包含字符串,整数和浮点数,因此您可以序列化它并使用
保留值的顺序str([value1, value2])
import hashlib
value1 = 'coconut'
value2 = 1.23
m = hashlib.sha1()
m.update(str([value1, value2]))
print(m.hexdigest())
# 1381ae81c8a5b660cca5b8d4607aa378320e25e8