How to use
- Choose Text or File.
- Type the text or select the file; the hashes are recomputed automatically.
- Tick Uppercase if the target system expects uppercase hexadecimal.
- Copy the hash for the algorithm you need.
Use cases
- Checking the SHA-256 checksum published alongside an ISO or installer.
- Generating ETags and cache keys from content.
- Comparing whether two files are identical without opening them.
- Reproducing hashes for legacy integrations that still rely on MD5.
Technical concepts
Cryptographic hash functions
A hash function deterministically maps any input to a fixed-size output. A good one is preimage-resistant (you cannot recover the input from the hash) and collision-resistant (finding two inputs with the same hash is infeasible). Flipping a single bit changes the result completely.
MD5 and SHA-1 are broken
Practical collisions have been shown for MD5 (2004) and SHA-1 (SHAttered, 2017). They are still fine for non-adversarial checksums, but not for signatures, certificates or any scenario where an attacker can choose the input. Prefer SHA-256 or stronger.
Hashing is not password storage
SHA-256 is fast by design, which makes brute-forcing passwords easy. For passwords, use slow salted algorithms such as bcrypt, scrypt or Argon2.
Frequently asked questions
Is the file uploaded to compute the hash?
No. The browser reads the file and processes it with crypto.subtle.digest; MD5 uses a local JavaScript implementation.
Why does my hash differ from the one in my terminal?
Usually because of a trailing newline: echo adds \n. Use echo -n or printf to compare. Different encodings (UTF-8 vs Latin-1) also change the hash.
Can hashes be reversed?
Not mathematically, but short or common inputs can be found in precomputed tables. That is why passwords need salts and slow algorithms.