Password Hashing and Verification Functions

  • Share this:

Code introduction


This code block contains three functions: `generate_salt()` to generate a new salt, `hash_password()` to hash a password with the provided salt, and `verify_password()` to verify a password.


Technology Stack : bcrypt

Code Type : Custom Python Function

Code Difficulty : Intermediate


                
                    
import bcrypt
import os

def generate_salt():
    # Generate a new salt using bcrypt.gensalt()
    salt = bcrypt.gensalt()
    return salt

def hash_password(password, salt=None):
    # If no salt is provided, generate a new one
    if salt is None:
        salt = bcrypt.gensalt()
    # Hash the password using bcrypt.hashpw() with the provided salt
    hashed = bcrypt.hashpw(password.encode('utf-8'), salt)
    return hashed

def verify_password(password, hashed_password):
    # Verify the password using bcrypt.checkpw()
    is_correct = bcrypt.checkpw(password.encode('utf-8'), hashed_password)
    return is_correct

# JSON representation of the code                
              
Tags: