2016-11-23 14 views
0

PythonでUnicodeの値を含む辞書があります。私はこの辞書のmd5合計を計算したいと思います。私はこの質問への回答を使用しようとしました:Computing an md5 hash of a data structureユニコード辞書のMD5チェックサムを計算するには?

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

しかし、問題はbencodeこのエラーを返していることである:

KeyError: <type 'unicode'> 

答えて

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 
関連する問題