如何计算unicode字典的MD5校验和?

时间:2016-11-23 11:11:47

标签: python dictionary unicode python-unicode

我在python中有一个包含unicode值的字典。我想计算这本词典的md5总和。我尝试使用这个问题的答案:Computing an md5 hash of a data structure

import hashlib
import bencode
data = {'unicode_text': 'سلام'}
data_md5 = hashlib.md5(bencode.bencode(data)).hexdigest()
print data_md5

但问题是bencode会返回此错误:

KeyError: <type 'unicode'>

1 个答案:

答案 0 :(得分:4)

bencode库似乎不支持unicode对象(无论如何,它是为Python 2编写的,而且我猜测你正在使用Python 3)。如何使用内置的json模块?

import hashlib
import json
data = {'unicode_text': 'سلام'}
data_md5 = hashlib.md5(json.dumps(data, sort_keys=True)).hexdigest()
print data_md5