Encryptacion
Mario Lacunza
mlacunza en gmail.com
Jue Nov 16 00:53:20 CET 2006
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
------------ 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