import md5
md5.new(u'中文').hexdigest()
会失败,报告ascii码不能解码0x....
原因是md5会自动将被加密的数据转成字节码,如果没有详细制定编码,则可能采用了其他编码(比如ascii),
因此要制定编码进行转码,如下:
import md5
md5.new(u'中文'.encode('utf-8')).hexdigest()
ref:http://bytes.com/topic/python/answers/842255-md5-hash-problems