Password Hash Generation with bcrypt

  • Share this:

Code introduction


This function uses the CryptContext class and the gen_salt function from the Passlib library to generate a password hash based on the bcrypt algorithm. It accepts a username and a salt length as parameters, and returns a password hash.


Technology Stack : Passlib, CryptContext, gen_salt

Code Type : Password Hashing Function

Code Difficulty : Intermediate


                
                    
from passlib.context import CryptContext
from passlib.utils import gen_salt

def generate_password_hash(username, salt_length=8):
    # Create a password hashing context
    pwd_context = CryptContext(schemes=["bcrypt"], deprecated="auto")

    # Generate a salt
    salt = gen_salt(salt_length)

    # Hash the password with the generated salt
    password_hash = pwd_context.hash(username + salt)

    return password_hash

# JSON representation of the code