Why it matters
A hash is a fingerprint: change one byte and it changes completely. That makes hashes the way to check a download hasn't been tampered with, and the basis of Subresource Integrity, which stops a hacked CDN from serving you a changed script.
HMACs, hashes with a secret, are how Stripe, GitHub and most services sign their webhooks. This tool makes all of them with your browser's built-in WebCrypto, so files and secrets stay on your device.
How it works
- InputText or any file
- In your browserHashed with WebCrypto (plus MD5 for old checksums)
- OutputMD5, SHA-1, SHA-256/384/512, HMAC and an integrity attribute
Where it fits in a designer's workflow
- Plan
- Design
- Build
- Test
- Launch
By the numbers
Show the numbers as a table
| Algorithm | Bits | Hash of 'hello world' |
|---|---|---|
| MD5 | 128 | 5eb63bbbe01eeed093cb22bb8f5acdc3 |
| SHA-1 | 160 | 2aae6c35c94fcfb415dbe95f408b9ce91ee846ed |
| SHA-256 | 256 | b94d27b9934d3e08a52e52d7da7dabfac484efe37a5380ee9088f7ace2efcde9 |
| SHA-384 | 384 | fdbd8e75a67f29f701a4e040385e2e23986303ea10239211af907fcbb83578b3e417cb71ce646efd0819dd8c088de1bd |
| SHA-512 | 512 | 309ecc489c12d6eb4cc40f50c902f2b4d0ed77ee511a7c7a9bcd3ca86d4cd86f989dd35bc5ff499670da34255b45b0cfd830e81f605dcf7dc5542e93ae9cd76f |
How to use it
- Type text or choose a file.
- Add a secret for an HMAC, or a published hash to compare.
- Read the hashes in the table.
- Copy the integrity attribute or download all the hashes.
FAQ
Which algorithm should I use?
SHA-256 for checksums and HMACs, SHA-384 for Subresource Integrity. SHA-1 is broken for security and is here only for old checksums.
Why no MD5?
Browsers' WebCrypto doesn't offer MD5 because it's broken. Use SHA-256 instead.
Can I hash passwords with this?
Don't store passwords as plain SHA hashes. Use a slow password hash such as Argon2 or bcrypt on your server.
Is my file uploaded?
No. It's hashed in your browser.