import hashlib, os, base64
def hash_password(password):
salt = os.urandom(16)
hash_bytes = hashlib.pbkdf2_hmac(
"sha256",
password.encode(),
salt,
100000
)
return base64.b64encode(salt).decode() + ":" + base64.b64encode(hash_bytes).decode()
def verify_password(password, stored_hash):
salt_b64, hash_b64 = stored_hash.split(":")
salt = base64.b64decode(salt_b64)
stored_hash = base64.b64decode(hash_b64)
new_hash = hashlib.pbkdf2_hmac(
"sha256",
password.encode(),
salt,
100000
)
return new_hash == stored_hash
stored_hash = hash_password("SecurePassword123!@")
print("Stored hash:", stored_hash)
if verify_password("SecurePassword123!@", stored_hash):
print("Password is correct")
else:
print("Invalid password")
'''
run:
Stored hash: GNLWu9Sff+9ejn/3A60akA==:bg89f31fiy3oJXthVxe0mKsdnKrMq+RzAfEnn+9xIAo=
Password is correct
'''