import hashlib user = ‘jointwisdom‘pwd = ‘zhonghui123‘ m2 = hashlib.md5()m2.update(pwd.encode("utf-8"))#参数必须是byte类型,否则报Unicode-objects must be encoded before hashing错误print(m2.hexdigest()) # 但是对中文字符串md5怎么办?# 中文字符在Python中是以unicode存在的,同一个字符串在不同的编码体系下有不同的值,所以在hash前要进行编码,个人建议转为gb2312,因为对比发现,我下载的一个工具算出的md5值是与gb2312编码后算出的md5值一样。(!网上md5的工具很多,是不是所有的md5工具都是这样的,未去考证,有兴趣的可以研究一下)# [python] view plain copy print?# import hashlib# data=‘我是‘# m = hashlib.md5(data.encode(encoding=‘gb2312‘))# print(m.hexdigest())
时间: 2024-10-11 12:02:23