Después de varias búsquedas que no he sido capaz de determinar la forma de evitar un error que indica: "Unicode-objetos deben ser codificados antes de hash" cuando se utiliza este código:Cómo corregir un error de codificación Unicode usando el módulo hashlib?
pwdinput = input("Now enter a password:")
pwd = hashlib.sha1()
pwd.update(pwdinput)
pwd = pwd.hexdigest()
¿Cómo puedo conseguir más allá de ese error? ¿Cómo se codifican los objetos Unicode?
Muchas gracias! Eso funcionó perfectamente! Ojalá me hubiera dado cuenta de eso antes. Gracias sin embargo. – Nate
Eres bienvenido. – JAB
Aunque no soy un gran admirador del manejo unicode de Python 2.x, este código en particular también debería funcionar perfectamente en Python 2.7, porque tanto el tipo 'str' como el' unicode' tienen el método de codificación, y, siempre que se trate de una cadena consiste solo en caracteres ASCII, la codificación utf-8 de la cadena es exactamente igual a la cadena de bytes de esos caracteres. Este hecho es importante si quiere que el hash para "abc" y "abc" salga igual. Si estás de acuerdo con que los dos reciban un trato diferente, entonces cualquier codificación está bien. – GrandOpener