Hash Generator
Generate a hash of a given string.
Hash settings
Rounds
Password tips
Change your passwords periodically.
Never use the same password on multiple sensitive accounts.
Use a password with at least 16 characters. It should contain lowercase letters, uppercase letters, numbers, and symbols.
Refrain from saving your password in a web browser (Firefox, Chrome, Internet Explorer, Safari). Instead, use a tool which manages an encrypted password locker.
Do not log into sensitive accounts while connected to a public Wi-Fi hotspot.
Check that you are using a secure (HTTPS, SSH, SFTP) connection before transmitting your password over the web.
What is the Hash Generator?
This tool generates a Bcrypt hash from any string using the same algorithm behind Laravel's
Hash::make() helper. Bcrypt is a one-way hashing function commonly used to store
passwords securely: instead of saving a plain-text password, an application stores its hash, and
verifies future logins by re-hashing the supplied password and comparing digests. Because Bcrypt
includes a random salt, hashing the same string twice produces two different results. That's
expected, and both will still verify correctly against the original input.
How to use this tool
Type or paste the string you want to hash into the input field, choose how many rounds to apply
(each round re-hashes the previous result), and click Generate Hash. The output
appears in the read-only field below, ready to copy with the clipboard icon. This is useful for
quickly checking what Hash::make('your-string') would return in a Laravel app, or for
generating a bcrypt digest to insert directly into a database seeder or test fixture.
Common use cases
- Checking what
Hash::make('your-string')returns before writing it into a Laravel migration or seeder. - Generating a bcrypt digest to insert directly into a database, for a test account or fixture.
- Confirming your app's
bcrypt.roundsconfig produces the hash length and cost factor you expect. - Learning how salting works by hashing the same string twice and comparing the two different results.
Frequently asked questions
Is this the same as Laravel's Hash::make()?
Yes. Both use PHP's password_hash() with the PASSWORD_BCRYPT algorithm, so a hash generated here will verify successfully against Hash::check() in a Laravel app, and vice versa.
Why is the output different every time, even for the same input?
Bcrypt generates a new random salt each time it runs, and that salt is embedded in the output string. Different salt means a different hash, but every hash still verifies correctly against the original input.
How many rounds should I use?
Rounds (the bcrypt cost factor) control how slow the hash is to compute, which is what makes brute-forcing expensive. Laravel's default is 10-12. Higher is more secure but slower to verify on login; going much above 12-14 can noticeably slow down your app's authentication requests.
Can I reverse a bcrypt hash back to the original string?
No. Bcrypt is a one-way function by design. The only way to "check" a password against a stored hash is to hash the candidate password the same way and compare the two hashes, which is exactly what Hash::check() does.
Is the string I enter sent to a server?
Yes. Bcrypt hashing is computationally expensive and needs to run server-side, so your input is sent to our server to compute the hash. See our Privacy Policy for details on what we log.