22
多次搜索之后,我一直无法确定如何避免错误,指出:“Unicode的对象散列之前必须被编码”使用此代码时:如何使用hashlib模块修复Unicode编码错误?
pwdinput = input("Now enter a password:")
pwd = hashlib.sha1()
pwd.update(pwdinput)
pwd = pwd.hexdigest()
我怎样才能得到过去的错误?你如何编码Unicode对象?你使用Python 3
太谢谢你了!这工作完美!我希望我早日意识到这一点。不过谢谢。 – Nate
你很受欢迎。 – JAB
虽然我并不是Python 2.x的unicode处理的忠实粉丝,但是这个特殊的代码在Python 2.7中也应该可以很好地工作,因为'str'和'unicode'类型都有编码方法,并且提供了一个字符串只包含ASCII字符,字符串的utf-8编码完全等于这些字符的字节串。 这个事实很重要,如果你想让“abc”和u“abc”的哈希值相同。如果你对这两种方式的处理方式不同,那么任何编码都可以。 – GrandOpener