A small Python desktop application for generating and verifying bcrypt password hashes.
The application provides a simple GUI for securely testing password hashing and verification locally, with configurable bcrypt cost factors and a session-based activity log.
-
Generate bcrypt password hashes
-
Verify passwords against bcrypt hashes
-
Configurable bcrypt cost factor
- 10
- 11
- 12
- 13
- 14
-
Default cost factor of 12
-
Password length indicator
-
Password visibility toggle
-
Maximum password length of 128 characters
-
Copy password directly to the verification field
-
Copy generated bcrypt hashes to the system clipboard
-
Clear individual fields
-
Clear all working fields
-
Session-based activity log
-
Activity log limited to 200 entries
-
Export activity logs as
.txtfiles -
Activity logs do not record plaintext passwords or password hashes
- Python
- Tkinter - Graphical user interface
- bcrypt - Password hashing and verification
- Pathlib - File and path handling
- datetime - Activity log timestamps
Bcrypt is a password hashing algorithm designed to make password guessing more computationally expensive.
When generating a hash, the application:
- Accepts the password entered by the user.
- Generates a random salt using bcrypt.
- Applies the selected cost factor.
- Generates the bcrypt password hash.
- Displays the resulting hash in the application.
The salt is automatically generated by bcrypt and is stored as part of the resulting bcrypt hash.
When verifying a password, bcrypt uses the information contained in the stored hash to perform the verification.
Download the Windows .exe from the repository's Releases section.
The executable is provided as a compressed .zip file. Extract the ZIP file and run:
bcrypt_tool.exe
No Python installation is required when using the executable.
Use the following MD5 checksum to verify the downloaded Bcrypt-Tool.zip file:
FABF00ABA391993146591B465F934EE8
Clone the repository:
git clone https://github.com/D-Emerald/Bcrypt-Tool.gitNavigate into the project directory:
cd Bcrypt-ToolInstall the required dependency:
pip install bcryptRun the application:
python bcrypt_tool.pyAlternatively, download the repository as a ZIP file, extract it, install the bcrypt dependency, and run the Python file.
- Enter a password.
- Select the desired bcrypt cost factor.
- Click Generate Bcrypt Hash.
- The generated bcrypt hash will appear in the hash field.
- Enter a password into the verification field.
- Enter or generate a bcrypt hash.
- Click Verify Password.
- The application reports whether the password matches the hash.
The activity log records application events such as:
19:42:11 | Hash generated | Cost: 12
19:42:18 | Hash copied
19:42:31 | Password verification | Success
The log intentionally does not record:
- Plaintext passwords
- Verification passwords
- Bcrypt hashes
- Bcrypt salts
The activity log is session-based and can be exported to a .txt file in the user's Downloads folder.
Dev Emerald
Cyber Security Student

