import sys
import hashlib
import getpass
def process_file(file_name):
user_names = []
passwords = []
try:
file_conn = open(file_name)
data = file_conn.readlines()
for i in range(len(data)):
if i%2 == 0:
user_names.append(data[i][:-1])
else:
passwords.append(data[i][:-1])
file_conn.close()
except:
sys.exit('There was a problem reading the file!')
return user_names, passwords
def main(argv):
if len(argv) != 1:
sys.exit('Usage: user_pass.py <file_name>')
print '\nUser & Password Authentication Program v.01\n'
user_names, passwords = process_file(sys.argv[1])
pass_try = 0
x = 3
user = raw_input('Please Enter User Name: ')
if user not in user_names:
sys.exit('Unkown User Name, terminating... \n')
while pass_try < x:
user_input = hashlib.sha224(getpass.getpass('Please Enter Password: ')).hexdigest()
if user_input != passwords[user_names.index(user)]:
pass_try += 1
print 'Incorrect Password, ' + str(x-pass_try) + ' more attemts left\n'
else:
pass_try = x+1
if pass_try == x:
sys.exit('Incorrect Password, terminating... \n')
print 'User is logged in!\n'
if __name__ == "__main__":
main(sys.argv[1:])