Consiste en reemplazar letras por números según la tabla que está aquí abajo. Las letras que no figuren en la palabra “murciélago”, se dejarán con la misma letra. Para codificar número, se realiza inversamente.
M U R C I E L A G O
0 1 2 3 4 5 6 7 8 9
0 1 2 3 4 5 6 7 8 9
«Aca la info original» http://members.fortunecity.es/scoutsmarinos/clavea1.htm
Bueno, nada de otro mundo, solamente un simple reemplazo de caracteres. Saludos
Código
def Encode(String): Abecedario = ['a','b','c','d','e','f','g','h','i','j','k','l','m','n','o','p','q','r','s','t','u','v','w','x','y','z'] Traductor = ['7','B','3','D','5','F','8','H','4','J','K','6','0','N','9','P','Q','2','S','T','1','V','W','X','Y','Z'] for i in range(26): String = String.replace(Abecedario[i],Traductor[i]) return String def Decode(String): Abecedario = ['a','b','c','d','e','f','g','h','i','j','k','l','m','n','o','p','q','r','s','t','u','v','w','x','y','z'] Traductor = ['7','B','3','D','5','F','8','H','4','J','K','6','0','N','9','P','Q','2','S','T','1','V','W','X','Y','Z'] for i in range(26): String = String.replace(Traductor[i],Abecedario[i]) return String print ''' === Clave Murcielago === 1 - cifrar 2 - descifrar ======================== ''' while True: String = raw_input('Ingrese una cadena de texto > ') opcion = input('Elija una opcion > ') if opcion == 1: print 'La cadena cifrada es > %s' % Encode(String) elif opcion == 2: print 'La cadena descifrada es > %s' % Decode(String) else: exit()