Advertisement
Guest User

Advanced Login System - Python 3.4

a guest
Mar 18th, 2016
238
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.00 KB | None | 0 0
  1. import sqlite3
  2. from hashlib import md5
  3.  
  4. class Login():
  5.  
  6. def __init__(self, database = "logins.db"):
  7. self.db = sqlite3.connect(database)
  8. self.sql = self.db.cursor()
  9.  
  10. self.sql.execute("CREATE TABLE IF NOT EXISTS logins (username TEXT, password TEXT);")
  11.  
  12. def new_user(self, username, password):
  13. self.sql.execute("INSERT INTO logins (username, password) VALUES (?, ?);",
  14. (username, md5(password.encode()).hexdigest()))
  15. self.db.commit()
  16.  
  17. def check(self, username, password):
  18. self.sql.execute("SELECT * FROM logins WHERE username = ? AND password = ?",
  19. (username, md5(password.encode()).hexdigest()))
  20. data = self.sql.fetchall()
  21. if len(data) < 1:
  22. return False
  23. elif len(data) == 1:
  24. return True
  25. else:
  26. print("Duplicate login entry in database, please remove the duplicate user")
  27.  
  28. db = Login()
  29.  
  30.  
  31.  
  32. def login():
  33. username = input("Username: ")
  34. password = input("Password: ")
  35.  
  36. if not db.check(username, password):
  37. return False
  38. else:
  39. return username
  40.  
  41. def createnew():
  42. username = input("New Username: ")
  43. while True:
  44. password = input("New Password: ")
  45. retype = input("Retype Password: ")
  46. if password == retype:
  47. break
  48. print("Passwords did not match!")
  49. db.new_user(username, password)
  50.  
  51.  
  52.  
  53. print('''
  54. ------------------------------
  55. 1) Login
  56. 2) Create New User
  57. ------------------------------
  58. ''')
  59. while True:
  60. option = input(">> ")
  61. if option == "1" or option.lower == "login":
  62. user = login()
  63. if user:
  64. print("Welcome", user)
  65. else:
  66. print("Invalid username/password!")
  67. continue
  68. break
  69. elif option == "2" or option.lower == "create new user":
  70. createnew()
  71. else:
  72. print("Please enter one of the above options")
  73. continue
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement