Skip to content

Latest commit

 

History

History
134 lines (104 loc) · 3.54 KB

README.md

File metadata and controls

134 lines (104 loc) · 3.54 KB

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