Programación Web y Scripting > Python
Módulo Md5
(1/1)
RadicalEd:
Miren este mismo código en 2 IDE's diferentes:
--- Código: Text ---import md5m = md5.new()m.update('lerolero')var = m.digest()print var Con el Shell de Python que viene con Linux me muestra esto por pantalla:
�j��P� ���O���
Y pos se ve horrible y no lo puedo traducir.
El problema viene cuando lo quiero imprimir en un editor gráfico como Pycrust o en un TextCtrl de un frame wxPython, ya que me saca este error.
--- Cita de: "Error PyCrust-wxPython" ---Traceback (most recent call last):
File "<input>", line 1, in ?
File "/usr/lib/python2.3/site-packages/wx-2.6-gtk2-unicode/wx/py/shell.py", line 858, in writeOut
self.write(text)
File "/usr/lib/python2.3/site-packages/wx-2.6-gtk2-unicode/wx/py/shell.py", line 695, in write
self.AddText(text)
File "/usr/lib/python2.3/site-packages/wx-2.6-gtk2-unicode/wx/stc.py", line 1124, in AddText
return _stc.StyledTextCtrl_AddText(*args, **kwargs)
UnicodeDecodeError: 'utf8' codec can't decode bytes in position 0-1: invalid data
--- Fin de la cita ---
Entienden cual es el error?
Gracias Chao
RadicalEd:
Por ayuda de nuestro moderador NRM, quien me explico que existe la función 'hexdigest()', que sirve para convertir el valor que se genera al pasar la cadena de hexa a decimal y de ahi convertirla a ASCII (jejeje no dijo todo eso yo lo deduje), 'tons podemos hacerlo de esta manera y funcionara.
--- Código: Text ---import md5m = md5.new()m.update('lerolero')var = m.hexdigest()print var
--- Código: Text ---#LO QUE YO TRATABA DE HACER # -*- coding: ISO-8859-1 -*-#!/usr/bin/python2.3#Ejemplo hecho por RadicalEd import wximport md5 app = wx.App()m = md5.new()m.update('lero lero')var = m.hexdigest()dlg = wx.MessageDialog(None, var, u'Ejemplo', wx.OK | wx.ICON_INFORMATION)salida = dlg.ShowModal() El problema sigue siendo que no tengo Unicode :( y no puedo imprimir de esa forma, alguién mi puede explicar como hacerlo.
PD: Es mentira que Linux utiliza md5 para encriptar sus claves
Navegación
Ir a la versión completa