Use sha256 to encode passwords instead of plain text #6

Open
julioro wants to merge 1 commit from julioro/2025-plovdiv-git:hash_fix into live_coding
Showing only changes of commit e149ba7724 - Show all commits

View file

@ -1,17 +1,19 @@
import getpass # hides types characters, very useful import getpass # hides types characters, very useful
import json import json
import sys import sys
import hashlib
def get_credentials(): def get_credentials():
username = input('Enter your username: ') username = input('Enter your username: ')
password = getpass.getpass('Enter your password: ') password = str(hashlib.sha256(getpass.getpass('Enter your password: ').encode()).hexdigest())
return (username, password) return (username, password)
def authenticate(username, password, pwdb): def authenticate(username, password, pwdb):
return password == pwdb[username] return password == pwdb[username]
def add_user(username, pwdb): def add_user(username, pwdb):
pwdb[username] = getpass.getpass(f'Enter password for {username}: ') password = getpass.getpass(f'Enter password for {username}: ')
pwdb[username] = str(hashlib.sha256(password.encode()).hexdigest())
return pwdb return pwdb
def read_pwdb(pwdb_path): def read_pwdb(pwdb_path):