Skip to content

Python tool for secure password hashing and verification. Supports multiple hash types, customizable iterations, and optional pepper value. Simple CLI interface.

License

Notifications You must be signed in to change notification settings

LupusJM/SecurePasswordTool

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

11 Commits
 
 
 
 
 
 

Repository files navigation

Secure Password Tool

This is a simple password hashing and verification tool implemented in Python. The script allows users to generate salted hashes for plaintext passwords and verify plaintext against hashed information. Storing hashes into SQLite database. It supports various hash types, allows customization of the number of iterations for hashing, and provides an option to include a pepper value for additional security. The tool provides a convenient command-line interface for interacting with its functionalities.

Features

  • Generate salted hashes for plaintext passwords.
  • Verify plaintext against hashed information.
  • Support for multiple hash types (default: SHA-256).
  • Customizable number of iterations for hashing (default: 100,000).
  • Option to include a pepper value for enhanced security.
  • Simple command-line interface for easy interaction.
  • Database support for storing and deleting passwords.

Usage

Installation

  1. Clone the repository:

    git clone https://github.com/LupusJM/SecurePasswordTool.git
  2. Navigate to the project directory:

    cd SecurePasswordTool

Generating Hashes

Click for example

This command generates a salted hash for a plaintext password, run:

python main.py --make <plaintext>
Example:
python main.py --make mypassword

This command verifies a plaintext password against hashed information, run:

python main.py --verify <plaintext> <hash_info>
Example:
python main.py --verify mypassword sha256@100000@303bb288988c281d9b199e240f2b6385@9d0563c55a5e713c1140e0d007bf6244f6d99f449cc5e6adb74ba962f4b9f2d7
python main.py --verify mypassword "sha256@100000@303bb288988c281d9b199e240f2b6385@9d0563c55a5e713c1140e0d007bf6244f6d99f449cc5e6adb74ba962f4b9f2d7"
python main.py --verify mypassword 'sha256@100000@303bb288988c281d9b199e240f2b6385@9d0563c55a5e713c1140e0d007bf6244f6d99f449cc5e6adb74ba962f4b9f2d7'

This command generates a salted hash with a specific hash type, run:

python main.py --make <plaintext> --hash-type <hash_type>
Example:
python main.py --make mypassword --hash-type sha512

This command generates a salted hash with a specific number of iterations, run:

python main.py --make <plaintext> --iterations <iterations>
Example:
python main.py --make mypassword --iterations 200000

This command generates a salted hash with a specified pepper value, run:

python main.py --make <plaintext> --pepper <pepper>
Example:
python main.py --make mypassword --pepper somepepper

This command deletes a stored hash with the specified ID, run:

python main.py --delete <password_id>
Example:
python main.py --delete 2

Help

python main.py --help or -h

Full example:

Linux

linux

Windows

windows

License

About

Python tool for secure password hashing and verification. Supports multiple hash types, customizable iterations, and optional pepper value. Simple CLI interface.

Topics

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages