2

質問:

(Pythonで)異なるデータ型の値のグループからハッシュを取得する良い方法は何ですか?

値は一貫した順序でハッシュする必要があります。ハッシュする必要がある値は、文字列と整数です。

例:

value1 = 'coconut'
value2 = 1.23

hash = Sha1Hash(value1, value2)

いつでも文字列に連結できますが、これは理想的ではないように感じます。

hash = Sha1Hash( '%s%s' % (value1, value2))
4

2 に答える 2

2

値のタプルを作成し、それをハッシュするだけです:

>>> Sha1Hash((value1, value2))

または標準のハッシュ関数を使用します。

>>> hash((value1, value2))
于 2013-05-10T16:48:45.060 に答える
1

sha1 ハッシュ値が必要なようです。Python には sha1 ハッシュ関数が付属していますが、入力として文字列が必要です。したがって、データは(value1, value2)シリアル化する必要があります。

データは文字列、int、float のみで構成されているため、シリアル化して値の順序を保持できます。

str([value1, value2])

import hashlib

value1 = 'coconut'
value2 = 1.23

m = hashlib.sha1()
m.update(str([value1, value2]))
print(m.hexdigest())            
# 1381ae81c8a5b660cca5b8d4607aa378320e25e8
于 2013-05-10T16:42:23.953 に答える