implement sha256 hashing of password for security reason #7
					 1 changed files with 14 additions and 5 deletions
				
			
		
							
								
								
									
										19
									
								
								auth.py
									
										
									
									
									
								
							
							
						
						
									
										19
									
								
								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) | ||||
|  |  | |||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue
	
	
Too many empty lines here.