objects must hashing example encoded decrypt before python unicode hashlib

python - must - ¿Cómo corregir el error de codificación Unicode usando el módulo hashlib?



python md5 file (1)

pwdinput = input("Now enter a password:").encode(''utf-8'') # or whatever encoding you wish to use

Suponiendo que está utilizando Python 3, esto convertirá la cadena Unicode devuelta por input() en un objeto bytes codificado en UTF-8, o cualquier codificación que desee utilizar. Las versiones anteriores de Python sí lo tienen, pero su manejo de cadenas Unicode vs. no Unicode era un poco complicado, mientras que Python 3 tiene una distinción explícita entre cadenas Unicode ( str ) y secuencias inmutables de bytes que pueden o no representar Caracteres ASCII ( bytes ).

http://docs.python.org/library/stdtypes.html#str.encode
http://docs.python.org/py3k/library/stdtypes.html#str.encode

Después de varias búsquedas, no he podido determinar cómo evitar un error que dice: "Los objetos Unicode deben codificarse antes del hash" al usar este código:

pwdinput = input("Now enter a password:") pwd = hashlib.sha1() pwd.update(pwdinput) pwd = pwd.hexdigest()

¿Cómo puedo superar ese error? ¿Cómo se codifican los objetos Unicode?