document.write('
Data hosted with ♥ by Pastebin.com - Download Raw - See Original
  1. #!/usr/bin/python
  2.  
  3. def encriptar(clave):
  4.     clave = clave.replace(" ", "_")
  5.     clave = list(clave)
  6.     texto = str(raw_input("\\nMensaje: "))
  7.     texto = texto.replace(" ", "_")
  8.     texto = list(texto)
  9.     num = ["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","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","_","0","1","2","3","4","5","6","7","8","9"]
  10.  
  11.     # Imprime el diccionario
  12.     #for i in range(len(num)):
  13.     #    print i, num[i]
  14.    
  15.     # Saca los numeros de la palabra clave
  16.     cosa = []
  17.     for j in range(len(clave)):
  18.         for i in range(len(num)):
  19.             if num[i] == clave[j]:
  20.                 cosa.append(i)
  21.  
  22.     #print "cosa = ",cosa
  23.     lol = [] # La palabra en numeros
  24.  
  25.     # Convierte las palabras en numeros
  26.     for j in range(len(texto)):
  27.         for i in range(len(num)):
  28.             if num[i] == texto[j]:
  29.                 #print i, num[i], j, texto[j]
  30.                 lol.append(i)
  31.  
  32.     #print texto, len(texto)
  33.     #print lol, len(lol)
  34.  
  35.     x = 0
  36.     print "\\n    *------------------------------------*\\n"
  37.     # Hace la operacion
  38.     temp =[]
  39.     for i in range(len(lol)):            
  40.         lal = ((lol[i]+cosa[x])%(len(num)))
  41.         #print i, "|", x," | ",num[lol[i]],lol[i],"+",num[cosa[x]],cosa[x],"%",len(num),"=",lal
  42.         temp.append(lal)
  43.         x += 1
  44.         if x > (len(cosa)-1):
  45.             x = 0
  46.  
  47.     resultado = []
  48.  
  49.     # Pasa los numeros de las operaciones por el diccionario
  50.     #print len(temp), temp
  51.     for i in range(len(temp)):
  52.         #print i, temp[i]
  53.         resultado.append(num[temp[i]])
  54.        
  55.     # Hace sumatoria de la lista
  56.     cifrado = ""
  57.     for i in range(len(temp)):
  58.         cifrado += resultado[i]
  59.  
  60.     print "Mensaje cifrado: ",cifrado,"\\n"
  61.  
  62. def desencriptar(clave):
  63.     clave = clave.replace("_", " ")
  64.     clave = list(clave)
  65.     texto = str(raw_input("\\nMensaje: "))
  66.     texto = texto.replace("_", " ")
  67.     texto = list(texto)
  68.     num = ["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","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"," ","0","1","2","3","4","5","6","7","8","9"]
  69.  
  70.     cosa = []
  71.     for j in range(len(clave)):
  72.         for i in range(len(num)):
  73.             if num[i] == clave[j]:
  74.                 cosa.append(i)
  75.  
  76.     lol = [] # La palabra en numeros
  77.  
  78.     # Convierte las palabras en numeros
  79.     for j in range(len(texto)):
  80.         for i in range(len(num)):
  81.             if num[i] == texto[j]:
  82.                 #print i, num[i], j, texto[j]
  83.                 lol.append(i)
  84.     x = 0
  85.     print "\\n    *------------------------------------*\\n"
  86.     # Hace la operacion
  87.     temp =[]
  88.     for i in range(len(lol)):            
  89.         lal = ((len(num)+lol[i]-cosa[x])%(len(num)))
  90.         #print i, "|", x," | ",num[lol[i]],lol[i],"+",num[cosa[x]],cosa[x],"%",len(num),"=",lal
  91.         temp.append(lal)
  92.         x += 1
  93.         if x > (len(cosa)-1):
  94.             x = 0
  95.  
  96.     resultado = []
  97.  
  98.     # Pasa los numeros de las operaciones por el diccionario
  99.     #print len(temp), temp
  100.     for i in range(len(temp)):
  101.         #print i, temp[i]
  102.         resultado.append(num[temp[i]])
  103.        
  104.     # Hace sumatoria de la lista
  105.     cifrado = ""
  106.     for i in range(len(temp)):
  107.         cifrado += resultado[i]
  108.  
  109.     print "Mensaje desencriptado: ", cifrado
  110.  
  111. def main():    
  112.     done = False
  113.  
  114.     while done == False:
  115.         print "\\n    *------------------------------------*\\n"
  116.         print "            Encriptar = 0 \\n            Desencriptar = 1 \\n            Salir = 2\\n"
  117.         op = int(raw_input("Que tarea vamos a ejecutar: "))
  118.  
  119.         if op >= 2:
  120.             done = True
  121.         else:
  122.             clave = str(raw_input("\\nIngresa una palabra clave: "))#"M4ST3R"
  123.             if op == 1:
  124.                 desencriptar(clave)
  125.             else:
  126.                 encriptar(clave)
  127.  
  128. main()
');