Encryptacion

aNgel rEsendiz g. sonajadiabolica en gmail.com
Jue Nov 16 16:49:51 CET 2006


Que tal.

    Creo que es un problema de codificación, ya que yo no obtengo la
cadena de texto que quieres utilizar para cifrar directamente, yo
obtengo lo siguiente (no se como se vaya a ver en tu navegador, porque
son muchos carácteres "extraños"):

�;U[�Y)G�q�۫�q

Y si la paso como parámetro, obtengo el siguiente error:
ValueError: Input strings must be a multiple of 8 in length.

Tal vez obtuviste los carácteres ejecutandolo con boa y no te mostró
los raros, intenta correrlo desde consola.

No se si aún así te sirva intentar lo que quieres, ya que no se como
pensabas utilizarlo, por ejemplo, si querias que el usuario ingresara
esa cadena, pues no creo que sea posible.

Saludos

On 11/15/06, Mario Lacunza <mlacunza en gmail.com> wrote:
> Holas,
>
> Les adjunto un pequeño modulo de encriptacion q uso el modulo Cryto de
> Python.
>
> SI ejecuto este modulo no tengo ningun problema al
> encryptar-desencryptar las cadenas.
>
> Sin embargo cuando a esta orden:
>
>     x= c.Desencryptar(cc)
>
> en vez de pasarle el parametro le quiero pasar el resultado de la
> encryptacion como texto:
>
>     x= c.Desencryptar(';U[Y)Gqq')
>
> no me retorna lo esperado:frmbackup.
>
> Alguna idea de porque esto?
>
> Gracias!
>
>
>
> # -*- coding: utf8 -*-#
> #-----------------------------------------------------------------------------
> # Name:        enc.py
> # Purpose:
> #
> # Author:      <Mario Lacunza, Ricardo Chang>
> #
> # Copyright:   (c) 2006
> # Licence:     <GPL>
> #-----------------------------------------------------------------------------
>
>
> __author__='Mario Lacunza <mlacunza en gmail.com>'
> __version__='0.9'
>
>
>
> from Crypto.Cipher import DES
>
> """Modulo que encrypta y desencrypta una cadena pasada usando el
> algoritmo DES.
>
>     Este es implementado por Python a travez del modulo Criptografico.
>     Paquete Ubuntu Edgy 6.10 [python-crypto].
> """
>
> class Cripto:
>     """Clase que maneja la encryptación usando el Algoritmo DES.
>         Hay que proporcionarle una Key al constructor de la clase.
>     """
>
>     #Caracter unico para cumplir con norma DES que la cadena a encryptar
> debe
>     #ser de 8 bits
>     cRelleno='*'
> #-------------------------------------------------------------------------------
>
>     def __init__(self, Key):
>         """Se le debe pasar el Keycode de encryptación."""
>         self.obj=DES.new(Key)
>
> #-------------------------------------------------------------------------------
>
>     def Encryptar(self,mCadena):
>         longitud = len(mCadena)
>         if longitud == 0:
>             return False
>         else:
>             resto = longitud%8
>             if resto > 0:
>                 longitud = longitud + (8-resto)
>                 mCadena=mCadena.ljust(longitud, self.__class__.cRelleno)
>             try:
>                 Cifrado=self.obj.encrypt(mCadena)
>                 return Cifrado
>             except:
>                 return False
>
>
> #-------------------------------------------------------------------------------
>
>     def Desencryptar(self,mCadena):
>         try:
>             msg=self.obj.decrypt(mCadena)
>             msg=msg.rstrip(self.__class__.cRelleno)
>             return msg
>         except:
>             return False
>
> #-------------------------------------------------------------------------------
>
> if __name__ == '__main__':
>
>     """Ejemplo de Uso."""
>
>     #Se le pasa a la clase el Keycode
>     c=Cripto('mlacunza')
>     #Cadena de Prueba:
>     cc=c.Encryptar('frmbackup')
>     #Se imprime la cadena encryptada
>     print cc
>     #Se imprime la cadena original partiendo de la encryptada
>     x= c.Desencryptar(cc)
>     print x
>
>
>
>
> Mi configuracion/My config:
>
> Ubuntu Edgy Eft 6.10
> Linux Kernel 2.6.17-10-386
> Gnome 2.16.1
> Python 2.4.4c1
> wxPython 2.7.2.0 Unicode
> Boa Constructor cvs 0.5.2
>
> --
> Saludos / Best regards
>
> Mario Lacunza Vásquez
> Desarrollador de Software - Webmaster
> Desarrollador 2 Estrellas VS2005
>
> Website        : http://mlacunzav[DOT]cogia[DOT]net
> Email          : mlacunza[AT]gmail.com
> Email          : mario_lacunza[AT]yahoo.es
> Blog           : http://mlacunza[DOT]blogspot.com
> Lima - Peru
>
>
> _______________________________________________
> Python-es mailing list
> Python-es en aditel.org
> http://listas.aditel.org/listinfo/python-es
>
>
>


-- 
aNgel rEsendiz.!
------------ próxima parte ------------
_______________________________________________
Python-es mailing list
Python-es en aditel.org
http://listas.aditel.org/listinfo/python-es


Más información sobre la lista de distribución Python-es