使用hashlib库的朋友想必都遇到过以下的错误吧:“Unicode-objects must be encoded before hashing”,意思是在进行md5哈希运算前,需要对数据进行编码
>>> import hashlib >>> date = 'gooboys.com' >>> m = hashlib.md5(date) Traceback (most recent call last): File "", line 1, in TypeError: Unicode-objects must be encoded before hashing
只需进行转码一下可以了,下面是解决方法:
>>> m = hashlib.md5(date.encode('utf-8')) >>> print(m.hexdigest()) 7ba10da18d9aecb8e25907a32c0eecee >>>
在实验楼处进行python验证码破解的实验中遇到的错误,代码片段,附上正确的解法:
for letter in letters: m = hashlib.md5() im3 = im2.crop((letter[0], 0, letter[1], im2.size[1])) # m.update(("%s%s" % (time.time(), count))) 原代码 # 正确代码 m.update(("%s%s" % (time.time(), count)).encode('utf-8')) im3.save("./%s.gif" % (m.hexdigest())) count += 1
本文链接:https://www.ahhhhfs.com/2477/
- 转载请保留原文链接谢谢!
- 本站所有资源文章出自互联网收集整理,本站不参与制作,如果侵犯了您的合法权益,请联系本站我们会及时删除。
- 本站发布资源来源于互联网,可能存在水印或者引流等信息,请用户擦亮眼睛自行鉴别,做一个有主见和判断力的用户。
- 本站资源仅供研究、学习交流之用,若使用商业用途,请购买正版授权,否则产生的一切后果将由下载用户自行承担。
- 联系方式(#替换成@):feedback#abskoop.com
评论(0)