diff --git a/auth.py b/auth.py index 1559a08..fad77c5 100644 --- a/auth.py +++ b/auth.py @@ -1,19 +1,20 @@ import json import sys from getpass import getpass +from hashlib import sha256 PWDB_PATH = 'pwdb.json' def get_credentials(): username = input('Enter your username: ') - password = getpass('Enter your password: ') - return (username, password) + hashed_password = pwhash(getpass('Enter your password: ')) + return (username, hashed_password) -def authenticate(username, password, pwdb): - return password == pwdb[username] +def authenticate(username, hashed_password, pwdb): + return hashed_password == pwdb[username] def add_user(username, pwdb): - pwdb[username] = input(f'Enter password for {username}: ') + pwdb[username] = pwhash(input(f'Enter password for {username}: ')) return pwdb def read_pwdb(PWDB_PATH): @@ -29,6 +30,14 @@ def write_pwdb(pwdb, PWDB_PATH): json.dump(pwdb, pwdb_file) +def pwhash(pwd): + encoded_pwd = pwd.encode("utf-8") + m = sha256() + m.update(encoded_pwd) + return m.hexdigest() + + + if __name__ == "__main__": PWDB_PATH = 'pwdb.json' pwdb = read_pwdb(PWDB_PATH)