Verifying a download
This is the everyday use. A project publishes a checksum next to a download; you compute the hash of the file you received and compare. If they match, the file arrived intact and is the file they published.
Drop the file, paste the published hash into the compare box, and the tool says which algorithm it matched. No manual character-by-character comparison, which is where mistakes happen.
If it does not match, do not run the file. The usual cause is an incomplete download, but the whole point of the check is the case where it is not.
Which algorithm
| Algorithm | Use it for |
|---|---|
| SHA-256 | the default for anything security relevant |
| SHA-384, SHA-512 | where a longer digest is required |
| SHA-1 | legacy compatibility only |
| MD5 | quick non-security integrity checks, and old systems that demand it |
MD5 and SHA-1 are broken in a specific way: an attacker can construct two different files with the same hash. They are still fine for catching a corrupted transfer, and useless for proving a file was not tampered with.
Hashing is not encryption, and not password storage
A hash is one way by design; there is no key that turns it back. That is why it works for integrity checks.
It is also why a plain hash is the wrong way to store passwords. Attackers pre-compute hashes of billions of common passwords, so a stolen database of plain SHA-256 password hashes is cracked in bulk. Password storage needs a slow algorithm with a per-user salt, such as bcrypt, scrypt or Argon2. This tool is for checksums, not for building a login system.
Questions
Is my file uploaded to check its hash?
No. The file is read into memory in your browser and hashed there. That is the point: uploading a file to learn its checksum defeats the purpose of checking it.
Which hash should I use?
SHA-256 for anything security related. MD5 and SHA-1 only for non-security checks such as detecting an accidentally corrupted file, because both are broken against deliberate collisions.
Can I reverse a hash?
No. Hashing is one way. Services that claim to reverse a hash are looking the value up in a table of pre-computed common inputs, which is exactly why plain hashes are not a safe way to store passwords.
Why does my file hash differ from the website's?
Either the download is incomplete or corrupted, or the site publishes the hash of a different file, for example an installer rather than the archive. Check the filename next to the published hash.
Does the file size matter?
Very large files are read fully into memory, so a multi-gigabyte file may fail on a phone. Desktop browsers handle a few hundred megabytes without trouble.