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.
- 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.
-
Clone the repository:
git clone https://github.com/LupusJM/SecurePasswordTool.git
-
Navigate to the project directory:
cd SecurePasswordTool
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