Wednesday, 31 July 2024

Password authentication process using Python

 

Password authentication process using Python

import hashlib, os


def hash_psd(psd: str) -> str:

    salt = os.urandom(16)

    hashed_psd = hashlib.pbkdf2_hmac('sha256',

                                     psd.encode(), salt, 100000)   

    return salt.hex() + hashed_psd.hex()


def verify_psd(stored_psd: str, provided_psd: str) -> bool:    

    salt = bytes.fromhex(stored_psd[:32])

    stored_hash = stored_psd[32:]

    hashed_psd = hashlib.pbkdf2_hmac('sha256',

                                     provided_psd.encode(),salt,100000)

    return hashed_psd.hex() == stored_hash


if __name__ == "__main__":

    psd_to_store = input("Enter a Password: ")

    stored_psd = hash_psd(psd_to_store)

    print(f'Stored Password: {stored_psd}')


    psd_attempt = 'clcoding'

    is_valid = verify_psd(stored_psd, psd_attempt)

    print(f'Password is valid: {is_valid}')


#clcoding.com

Stored Password: ec87cb3f526a3dc27e5a67fe7878f850a6b24c71c2941edc5bbe2c3500afc164cebb1ec8bbbc6a2260faa4825307600e

Password is valid: True

 

 

0 Comments:

Post a Comment

Popular Posts

Categories

100 Python Programs for Beginner (14) AI (33) Android (24) AngularJS (1) Assembly Language (2) aws (17) Azure (7) BI (10) book (4) Books (167) C (77) C# (12) C++ (82) Course (67) Coursera (223) Cybersecurity (24) data management (11) Data Science (127) Data Strucures (8) Deep Learning (20) Django (14) Downloads (3) edx (2) Engineering (14) Excel (13) Factorial (1) Finance (6) flask (3) flutter (1) FPL (17) Google (34) Hadoop (3) HTML&CSS (47) IBM (25) IoT (1) IS (25) Java (93) Leet Code (4) Machine Learning (53) Meta (22) MICHIGAN (5) microsoft (4) Nvidia (1) Pandas (3) PHP (20) Projects (29) Python (923) Python Coding Challenge (305) Questions (2) R (70) React (6) Scripting (1) security (3) Selenium Webdriver (2) Software (17) SQL (42) UX Research (1) web application (8)

Followers

Person climbing a staircase. Learn Data Science from Scratch: online program with 21 courses