[Python-es] [Consulta] Error al desencriptar el texto

Ricardo Cárdenes ricardo.cardenes en gmail.com
Lun Dic 10 16:01:52 CET 2012


Y... ¿cual es el problema? Si cambio el final por:

  cifr = encripta("Texto a Encriptar",1 ,"Clave")
  print encripta(cifr, 2, "Clave")

Obtengo:

  Texto a Encriptar

que es lo que esperaría.


2012/12/10 Lucas Alvarez <alvarezlucas en gmail.com>

> La verdad que si.... el identado se fue al carajo.... lo puse en pastebin
> como lo sugerís..
>
>
>    1. # usr/bin/env python
>    2. # -*- coding: UTF-8 -*-
>    3. # Encripta y Desencripta un texto dependiendo de la clave de usuario
>    4.
>    5. debug = False
>    6.
>    7.
>    8. def encripta(Texto, Accion, ClaveUsuario):
>    9.     temp = 0
>    10.     i = 0
>    11.     j = 0
>    12.     n = len(ClaveUsuario)
>    13.     rtn = ""
>    14.         # Convierto la cadena ClaveUsuario a una lista ascii
>    15.     ClaveUsuarioASCII = []
>    16.     for i in range(0, n):
>    17.         ClaveUsuarioASCII.append(ord(ClaveUsuario[i]))
>    18.         if debug:
>    19.             print
>    "-----------------------------------------------------------"
>    20.             print "La Lista ClaveUsuario: ---> ", ClaveUsuarioASCII
>    21.             print "La Letra Seria:        ---> ", ClaveUsuario[i]
>    22.
>    23.     # Convierto la cadena texto a una lista ascii
>    24.     TextoASCII = []
>    25.     d = len(Texto)
>    26.     for i in range(0, d):
>    27.         TextoASCII.append(ord(Texto[i]))
>    28.         if debug:
>    29.             print
>    "-----------------------------------------------------------"
>    30.             print "La Lista TextoAsccii: ---> ", TextoASCII
>    31.             print "La Letra Seria:        ---> ", Texto[i]
>    32.
>    33.     # Encriptar Texto
>    34.     if Accion == 1:
>    35.         for i in range(0, d):
>    36.             if j + 1 >= n:
>    37.                 j = 1
>    38.             else:
>    39.                 j = j + 1
>    40.
>    41.             if debug:
>    42.                 print
>    "-----------------------------------------------------------"
>    43.                 print "Letra del Texto en ASCII     --->: ",
>     TextoASCII[i]
>    44.                 print "Numero en Clave Usuario      --->: ",
>     ClaveUsuarioASCII[j]
>    45.
>    46.             temp = TextoASCII[i] + ClaveUsuarioASCII[j]
>    47.
>    48.             if temp > 255:
>    49.                 temp = temp + 255
>    50.             if debug:
>    51.                 print temp
>    52.             rtn = rtn + chr(temp)
>    53.             if debug:
>    54.                 print rtn
>    55.
>    56.     # Desencriptar
>    57.     elif Accion == 2:
>    58.         for i in range(0, d):
>    59.             if j + 1 >= n:
>    60.                 j = 1
>    61.             else:
>    62.                 j = j + 1
>    63.             if debug:
>    64.                 print TextoASCII[i]
>    65.                 print ClaveUsuarioASCII[j]
>    66.             temp = TextoASCII[i] - ClaveUsuarioASCII[j]
>    67.             if debug:
>    68.                 print temp
>    69.             if temp < 0:
>    70.                 temp = temp + 255
>    71.             if debug:
>    72.                 print temp
>    73.             rtn = rtn + chr(temp)
>    74.
>    75.     return rtn
>    76.
>    77. print encripta("Texto a Encriptar",1 ,"Clave")
>
>
>
> 2012/12/10 G V <nadaird en gmail.com>
>
>> Creo que el indentado se ha ido al carajo, o eso o tu problema es justo
>> ese. Puedes usar herramientas como pastebin para que se pueda leer mejor el
>> codigo a la hora de compartirlo.
>>
>> Un saludo
>>
>>
>> 2012/12/10 Lucas Alvarez <alvarezlucas en gmail.com>
>>
>>>  Hola gente, vengo dando mis primeros pasos en python y estoy intentando
>>> realizar un encriptador, el tema es que estoy tan quemado con el codigo que
>>> ya no veo donde tengo el error al momento de desencriptar.
>>>
>>>  Si alguien lo ve y me puede dar una mano mas que agradecido... aqui el
>>> codigo:
>>>
>>> # usr/bin/env python
>>>
>>> # -*- coding: UTF-8 -*-
>>>
>>> # Encripta y Desencripta un texto dependiendo de la clave de usuario
>>>
>>>
>>> debug = False
>>>
>>>
>>>
>>> def encripta(Texto, Accion, ClaveUsuario):
>>>
>>>     temp = 0
>>>
>>>     i = 0
>>>
>>>     j = 0
>>>
>>>     n = len(ClaveUsuario)
>>>
>>>     rtn = ""
>>>
>>>     # Convierto la cadena ClaveUsuario a una lista ascii
>>>
>>>     ClaveUsuarioASCII = []
>>>
>>>     for i in range(0, n):
>>>
>>>         ClaveUsuarioASCII.append(ord(ClaveUsuario[i]))
>>>
>>>         if debug:
>>>
>>>             print
>>> "-----------------------------------------------------------"
>>>
>>>             print "La Lista ClaveUsuario: ---> ", ClaveUsuarioASCII
>>>
>>>             print "La Letra Seria: ---> ", ClaveUsuario[i]
>>>
>>>
>>>     # Convierto la cadena texto a una lista ascii
>>>
>>>     TextoASCII = []
>>>
>>>     d = len(Texto)
>>>
>>>     for i in range(0, d):
>>>
>>>         TextoASCII.append(ord(Texto[i]))
>>>
>>>     if debug:
>>>
>>>         print
>>> "-----------------------------------------------------------"
>>>
>>>         print "La Lista TextoAsccii: ---> ", TextoASCII
>>>
>>>         print "La Letra Seria: ---> ", Texto[i]
>>>
>>>
>>>     # Encriptar Texto
>>>
>>>     if Accion == 1:
>>>
>>>        for i in range(0, d):
>>>
>>> if j + 1 >= n:
>>>
>>> j = 1
>>>
>>> else:
>>>
>>> j = j + 1
>>>
>>>
>>>  if debug:
>>>
>>> print "-----------------------------------------------------------"
>>>
>>> print "Letra del Texto en ASCII --->: ", TextoASCII[i]
>>>
>>> print "Numero en Clave Usuario --->: ", ClaveUsuarioASCII[j]
>>>
>>>
>>>  temp = TextoASCII[i] + ClaveUsuarioASCII[j]
>>>
>>>
>>>  if temp > 255:
>>>
>>> temp = temp + 255
>>>
>>> if debug:
>>>
>>> print temp
>>>
>>> rtn = rtn + chr(temp)
>>>
>>> if debug:
>>>
>>> print rtn
>>>
>>>
>>>  # Desencriptar
>>>
>>> elif Accion == 2:
>>>
>>> for i in range(0, d):
>>>
>>> if j + 1 >= n:
>>>
>>> j = 1
>>>
>>> else:
>>>
>>> j = j + 1
>>>
>>> if debug:
>>>
>>> print TextoASCII[i]
>>>
>>> print ClaveUsuarioASCII[j]
>>>
>>> temp = TextoASCII[i] - ClaveUsuarioASCII[j]
>>>
>>> if debug:
>>>
>>> print temp
>>>
>>> if temp < 0:
>>>
>>> temp = temp + 255
>>>
>>> if debug:
>>>
>>> print temp
>>>
>>> rtn = rtn + chr(temp)
>>>
>>>
>>>    return rtn
>>>
>>>
>>> print encripta("Texto a Encriptar",1 ,"Clave")
>>>
>>>
>>>
>>> Saludos!
>>>
>>>
>>>
>>> _______________________________________________
>>> Python-es mailing list
>>> Python-es en python.org
>>> http://mail.python.org/mailman/listinfo/python-es
>>> FAQ: http://python-es-faq.wikidot.com/
>>>
>>>
>>
>> _______________________________________________
>> Python-es mailing list
>> Python-es en python.org
>> http://mail.python.org/mailman/listinfo/python-es
>> FAQ: http://python-es-faq.wikidot.com/
>>
>>
>
> _______________________________________________
> Python-es mailing list
> Python-es en python.org
> http://mail.python.org/mailman/listinfo/python-es
> FAQ: http://python-es-faq.wikidot.com/
>
>
------------ próxima parte ------------
Se ha borrado un adjunto en formato HTML...
URL: <http://mail.python.org/pipermail/python-es/attachments/20121210/48d492d0/attachment.html>


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