Hash Generator
Generate MD5, SHA-1, SHA-256 and SHA-512 hashes from any text.
Generate bcrypt password hashes and verify passwords against existing hashes — entirely in your browser. Choose the cost factor (work factor / rounds) to match your production setup. Nothing is sent to a server, nothing is logged. Useful for testing authentication code, generating seed data for migrations, and confirming that a stored hash matches the password your user typed.
Bcrypt is built on the Blowfish cipher and uses an expensive key setup phase called eksblowfish. The work factor (or cost) controls how many iterations of this setup run before the actual hashing starts. Each increment of the cost factor doubles the time the algorithm takes — so cost 12 takes about twice as long as cost 11, and cost 14 takes four times as long as cost 12. This gives you a knob to slow the algorithm down as hardware gets faster, without changing the algorithm itself.
Unlike general-purpose hash functions like SHA-256, bcrypt produces a 60-character output that contains everything needed to verify a password against the hash later: the algorithm version, the cost factor, the salt, and the hash itself. Storing this single string is sufficient — there's no separate salt column or cost-factor column to manage. When verifying, the bcrypt library extracts the salt and cost from the stored hash, runs the same calculation on the supplied password, and compares the result.
Bcrypt's combination of a built-in salt and configurable slowness has kept it the workhorse of password hashing for over two decades. Newer algorithms like Argon2id offer memory-hardness as an additional defense against custom hardware attacks (GPUs, ASICs) — but bcrypt remains a perfectly acceptable choice for any application without nation-state-level attackers in the threat model. The most important decision isn't bcrypt vs Argon2; it's choosing any modern adaptive hash over fast hashes like SHA-256 or MD5.
This bcrypt generator hashes and verifies entirely in your browser, via a vendored copy of bcryptjs. The password or string you enter never leaves the page — nothing is uploaded to Janeer or any server. Since the entire point of bcrypt is protecting passwords, sending them to a remote service to hash them would defeat the purpose.
Pasting secrets into hosted tools or chatbots is a documented risk: in 2023 Samsung banned internal use of generative AI after engineers leaked confidential source code, and security firm Cyberhaven found that roughly 11% of the data employees paste into ChatGPT is confidential. Keeping the operation client-side means your data stays on your own machine.
$2a$12$abcdefghijklmnopqrstuv1234567890ABCDEFGHIJKLMNOPQRSTUVWXYz. The fields are: 2a (algorithm version — also 2b or 2y in some implementations), 12 (cost factor — the number of rounds), the next 22 characters (the salt, base64-encoded), and the last 31 characters (the hash itself, base64-encoded). You store this whole string in your database — there's no separate salt column needed because the salt is embedded in the hash.