Advertisement
Guest User

Untitled

a guest
Sep 24th, 2017
139
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 1.82 KB | None | 0 0
  1. #!/usr/bin/env python
  2.  
  3. import getpass
  4. import hashlib
  5.  
  6. usernamedb=[]
  7. passworddb=[]
  8. salt='dae9Eu2Ughiwu9maeNeichah1Pho6aaT'
  9. loginstatus=False
  10.  
  11. def create_user():
  12.     running=True
  13.     while running:
  14.         newusername=raw_input('Please enter a new username : ')
  15.         newuserspassword=getpass.getpass('Please enter a password : ')
  16.         newhashedpassword=hashlib.sha512()
  17.         newuserspassword2=getpass.getpass('Please confirm the password : ')
  18.         if newuserspassword==newuserspassword2:
  19.             newhashedpassword.update(newuserspassword+salt)
  20.             hashedtoaddtodb=newhashedpassword.hexdigest()
  21.             usernamedb.append(newusername)
  22.             passworddb.append(hashedtoaddtodb)
  23.             print 'The new user has been created'
  24.             makenewuser=raw_input('Would you like to create another user? (y/n) : ')
  25.             if makenewuser=='n':
  26.                 break
  27.             if makenewuser=='y':
  28.                 continue
  29.             else:
  30.                 print 'Invalid input, taking you to login screen'
  31.                 break
  32.         else:
  33.             print 'Error, passwords do not match'
  34.             continue
  35.    
  36.  
  37. def login():
  38.     print 'Welcome to the system'
  39.     running=True
  40.     attempts=0
  41.     remaining=3
  42.     while running:
  43.         username=raw_input('Please enter your username : ')
  44.         password=getpass.getpass('Please enter your password : ')
  45.         hashedinputpassword=hashlib.sha512()
  46.         hashedinputpassword.update(password+salt)
  47.         inputpassworddigest=hashedinputpassword.hexdigest()
  48.         ID=usernamedb.index(username)
  49.         if passworddb[ID]==inputpassworddigest:
  50.             global loginstatus
  51.             loginstatus=True
  52.             print 'Welcome', username
  53.             break
  54.         if passworddb[ID]!=inputpassworddigest and remaining!=0:
  55.             print 'Invalid password, please try again'
  56.             attempts=attempts+1
  57.             remaining=3-attempts
  58.             print remaining, 'attempts remaining'
  59.             continue
  60.         if passworddb[ID]!=inputpassworddigest and remaining==0:
  61.             'You have failed to login too many times'
  62.             break
  63.  
  64. create_user()  
  65. login()
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement