Cifrado julio cesar

Iniciado por blozzter, Mayo 26, 2011, 01:53:13 AM

Tema anterior - Siguiente tema

0 Miembros y 1 Visitante están viendo este tema.

Mayo 26, 2011, 01:53:13 AM Ultima modificación: Marzo 23, 2015, 11:57:26 AM por Expermicid
Código: python
#   cifrado julio cesar
#   consiste en el desplazamiento de 3 letras hacia la derecha para cifrar
#   y 3 letras hacia la izquierda para descifrar
#   by blozzter

def cifrar(texto, largo):
    if largo > 0:
        i = 0
        palabra = ""
        print 'el texto cifrado es: ',
        while i < largo:
            num = ord(texto[i])
            if num == 120:
                letra = 'a'
            elif num == 121:
                letra = 'b'
            elif num == 122:
                letra = 'c'
            else:
                num += 3
                letra = chr(num)
            palabra += letra
            i += 1
        print palabra
           
def descifrar(texto, largo):
    if largo > 0:
        i = 0
        palabra = ""       #partimos con una variable vacia
        print 'el texto descifrado es: ',
        while i < largo:
            num = ord(texto[i])    #obtenemos el numero en ascii correspondiente a cada letra
            if num == 97:         #algunos casos especiales por estar en los limites
                letra = 'x'
            elif num == 98:
                letra = 'y'
            elif num == 99:
                letra = 'z'
            else:
                num -= 3       #disminuimos el numero ascii en 3
                letra = chr(num)   #asociamos el numero a una letra
            palabra += letra    #vamos armando la palabra letra por letra
            i += 1
        print palabra
   
           
texto = raw_input('ingresa texto: ')
largo = len(texto)  #encontramos cuantos caracteres tiene el texto

print '\n1.- cifrar'
print '2.- descifrar\n'
opcion = input('ingresa opcion: ')

if opcion == 1:
    cifrar(texto, largo)
   
if opcion == 2:
    descifrar(texto, largo)
¡< blozzter >!