document.write('
Data hosted with ♥ by Pastebin.com - Download Raw - See Original
  1. #!/usr/bin/python
  2. import cgi
  3. from utilMath import potmod
  4. from rsa import D, E
  5.  
  6. print \'Content-type: text/html\\n\'
  7. def obtenerClavesServer():
  8.     f = open(\'../data/key\', \'r\')
  9.     lista = []
  10.     for i in f:
  11.         lista.append(int(i))
  12.     return ((lista[0], lista[2]),(lista[1], lista[2]))
  13.  
  14. def guardar(user, kpub, n):
  15.     f = open(\'../data/key\', \'a\')
  16.     print >>f,user+\'|\'+kpub+\'|\'+n
  17.     f.close()
  18.  
  19. def autenticar(respuesta):
  20.     largoReto =  int(respuesta[0])+1
  21.     reto = int(respuesta[1:largoReto])
  22.     resp = int(respuesta[largoReto:])
  23.     (privada, publica) = obtenerClavesServer()
  24.     resp = D(resp,privada)
  25.     reto = D(reto, privada)
  26.     if(resp == reto):
  27.         print \'Entonces si eres tu\'
  28.         return True
  29.     else:
  30.         print resp
  31.         print reto
  32.         return False
  33.  
  34. def obtenerClavesUsuario(nombre):
  35.     f = open(\'../data/usrkey\', \'r\')
  36.     for i in f:
  37.         l = i.split("|")
  38.         if l[0].strip() == nombre.strip():
  39.             return (l[1],l[2])
  40.     return None
  41.  
  42. form = cgi.FieldStorage()
  43. nombre = form.getvalue(\'nombre\')
  44. reto = form.getvalue(\'reto\')
  45. respuesta = form.getvalue(\'respuesta\')
  46. print respuesta
  47. print nombre
  48. print reto
  49. if autenticar(respuesta):
  50.     print obtenerClavesUsuario(nombre)
  51. else:
  52.     print \'No eres quien dices ser -.-\'
');