Guest User

Untitled

a guest
Jul 19th, 2018
93
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.28 KB | None | 0 0
  1. #!/usr/bin/env python3
  2. import re
  3. from cryptography.fernet import Fernet
  4.  
  5. print("Binvenido al gestor de perfiles, continuacion podras introducir:"
  6. "nusuario, clave y web")
  7.  
  8. perfil_usuario = []
  9.  
  10.  
  11. def agregarUsuario():
  12. web = input("Introduce la web del perfil: ")
  13. usuario = input("Introduce el nombre del usuario: ")
  14. clave = input("Ingrese la clave de la cuenta: ")
  15. clave = bytes(clave, 'utf-8') #pasa clave a bytes es encesario para la encriptacion
  16. print(clave)
  17. return web, usuario, clave
  18. controlInputs()
  19.  
  20. def controlInputs(web, usuario, clave, web_valid = False, usuario_valid = False, clave_valid = False ):
  21.  
  22. #Validacion del dominio web
  23. for i in web:
  24. if i == '.':
  25. web_valid = True
  26. break #de lo contrario si el ultimo caracter no es '.' dara falso
  27. else:
  28. web_valid = False
  29.  
  30. # otro metodo mas sencillo, seria: web_valid = "." in web
  31.  
  32. #validacion del usuario
  33.  
  34. patron = re.compile('^[A-Za-z0-9_!=]+$') # uso de ^ y $ (inicio y fin de la regex)
  35. # e indica la cantidad de caracteres + en el patrón que uses
  36.  
  37. if patron.match(usuario):
  38. if len(usuario) >= 5:
  39. usuario_valid = True
  40. else:
  41. usuario_valid = False
  42. print('El usuario no es adecuado')
  43.  
  44. #validacion de la clave
  45. caracteres = ('_', '!', '?')
  46.  
  47. clave_valid = any(c in caracteres for c in clave)
  48. #for i in range(len(caracteres)):
  49. #clave_valid = True
  50. #print('correcto')
  51.  
  52. print(usuario_valid, clave_valid, web_valid)
  53.  
  54. #return web_valid, usuario_valid, clave_valid
  55. if usuario_valid and clave_valid and web_valid:
  56. cryptoPass(clave)
  57. makePerfil(web, usuario, clave)
  58. print(perfil_usuario)
  59.  
  60.  
  61. def cryptoPass (web, usuario, clave):
  62. clave_pass = Fernet.generate_key() #genera clave_cifrado
  63. cipher_suite = Fernet(clave_pass) #clave_cifrado_obj
  64. cipher_texto = cipher_suite.encrypt(clave) #cifra texto
  65. print(cipher_texto)
  66.  
  67. return cipher_texto, cipher_suite
  68.  
  69. makePerfil(web, usuario, clave)
  70.  
  71. def makePerfil(web, usuario, clave):
  72.  
  73. global perfilesde
  74. perfil_usuario.insert(0, web)
  75. perfil_usuario.insert(1, usuario)
  76. perfil_usuario.insert(2, clave)
  77.  
  78.  
  79. #Ejucion de scripts
  80.  
  81. #agregar usuario
  82. web, usuario, clave = agregarUsuario()
Add Comment
Please, Sign In to add comment