document.write('
Data hosted with ♥ by Pastebin.com - Download Raw - See Original
  1. #!/usr/bin/python                                                                                                                  
  2. import binascii
  3. import os
  4.  
  5. tam = 15
  6.  
  7. def codificar(llave, Msj):
  8.     if len(Msj) <= tam:
  9.         llave_int = int(llave)
  10.         espacios = tam - len(Msj)
  11.         completa = Msj.ljust(espacios)
  12.         Msj_int = int(binascii.hexlify(completa), 16)
  13.         Cod_xor = llave_int ^ Msj_int
  14.         print "Mensaje codificado " + str(Cod_xor)
  15.         return Cod_xor
  16.  
  17.     else:
  18.         print "El mensaje es muy grande, necesitamos " + str(tam) + " caracteres"
  19.         return
  20.  
  21. def decodificar(llave, Msj_cod):
  22.     Msj_cod_int = int(Msj_cod)
  23.     llave_int = int(llave)
  24.     Dec_xor = llave_int ^ Msj_cod_int
  25.     Decodificado = binascii.unhexlify(\'%x\' % Dec_xor)
  26.     print "Mensaje decodificado " + str(Decodificado)
  27.     return Decodificado
  28.  
  29. def main():
  30.     while True:
  31.         print "Menu\\n1. Enviar a Roberto\\n2. Enviar a Ramon\\n"
  32.         escoge = str(raw_input(">> "))
  33.  
  34.         if escoge == \'q\':
  35.             break
  36.  
  37.         if os.stat("./Ramon/key_2.txt").st_size != 0 and os.stat("./Roberto/key_1.txt") != 0:
  38.             if escoge == \'1\':
  39.                 print "Escribe el mensaje a enviar a Roberto\\n"
  40.                 Msj_rob = str(raw_input(">> "))
  41.  
  42.                 ramon_r = open("./Ramon/key_2.txt", "r")
  43.                 lineas_ram = ramon_r.readlines()
  44.                 ramon_r.close()
  45.  
  46.                 llave_ram = lineas_ram[0].replace("\\n", "")
  47.                 print "Llave usada por Ramon = " + str(llave_ram)
  48.                 cod = codificar(llave_ram, Msj_rob)
  49.  
  50.                 ramon_w = open("./Ramon/key_2.txt", "w")
  51.                 ramon_w.writelines([x for x in lineas_ram[1:]])
  52.                 ramon_w.close()
  53.  
  54.                 print "Recibido por Roberto"
  55.                 print "Ahora Roberto lo va a decodificar"
  56.  
  57.                 roberto_r = open("./Roberto/key_1.txt", "r")
  58.                 lineas_rob = roberto_r.readlines()
  59.                 roberto_r.close()
  60.  
  61.                 llave_rob = lineas_rob[0].replace("\\n", "")
  62.                 print "Llave usada por Roberto = " + str(llave_rob)
  63.                 dec = decodificar(llave_rob, cod)
  64.  
  65.                 roberto_w = open("./Roberto/key_1.txt", "w")
  66.                 roberto_w.writelines([x for x in lineas_rob[1:]])
  67.                 roberto_w.close()
  68.                 continue
  69.  
  70.             if escoge == \'2\':
  71.                 print "Escribe el mensaje a enviar a Ramon\\n"
  72.                 Msj_ram = str(raw_input(">> "))
  73.  
  74.                 roberto_r = open("./Roberto/key_1.txt", "r")
  75.                 lineas_rob = roberto_r.readlines()
  76.                 roberto_r.close()
  77.  
  78.                 llave_rob = lineas_rob[0].replace("\\n", "")
  79.                 print "Llave usada por Roberto = " + str(llave_rob)
  80.                 cod = codificar(llave_rob, Msj_ram)
  81.  
  82.                 roberto_w = open("./Roberto/key_1.txt", "w")
  83.                 roberto_w.writelines([x for x in lineas_rob[1:]])
  84.                 roberto_w.close()
  85.  
  86.                 print "Recibido por Ramon"
  87.                 print "Ahora Ramon lo va a decodificar"
  88.  
  89.                 ramon_r = open("./Ramon/key_2.txt", "r")
  90.                 lineas_ram = ramon_r.readlines()
  91.                 ramon_r.close()
  92.  
  93.                 llave_ram = lineas_ram[0].replace("\\n", "")
  94.                 print "Llave usada por Ramon = " + str(llave_ram)
  95.                 dec = decodificar(llave_ram, cod)
  96.  
  97.                 ramon_w = open("./Ramon/key_2.txt", "w")
  98.                 ramon_w.writelines([x for x in lineas_ram[1:]])
  99.                 ramon_w.close()
  100.                 continue
  101.  
  102.             else:
  103.                 print "Escoge un valor [1 - 2]\\n"
  104.                 continue
  105.  
  106.         else:
  107.             print "Ya no existen llaves\\n"
  108.             break
  109.  
  110. main()
');