Wernzi Tools

Wernzi Tools Guide

What Is a Checksum and How to Verify a Download

A checksum is a short fingerprint that proves a file arrived intact. Learn how checksums work, the difference between MD5, SHA-1 and SHA-256, and how to verify a download.

By Wernzi Tools team · Published November 7, 2026 · 6 min read · Updated November 2026

Next to almost every software download you will find a short string of letters and numbers — a checksum. It looks like clutter, but it is the only proof you have that the file you downloaded is the file the publisher intended you to get: complete, uncorrupted and untampered. If even one byte changed in transit, the checksum will not match.

This guide explains what checksums are, how the common algorithms differ, and the exact steps to verify a download on any operating system — plus what to do when the numbers do not match.

Checksums, hashes and fingerprints

A checksum is the output of a hash function applied to a file. A hash function takes any input — a word, a document, a whole disk image — and produces a short, fixed-length fingerprint. It is deterministic, so the same file always produces the same checksum, and it has the avalanche property: changing a single byte of the input produces a completely different output. That is what makes a checksum useful — if the file you received produces the published checksum, you can be confident it is byte-for-byte identical to the original.

A checksum proves integrity, which is not the same as authenticity. A matching checksum tells you the file was not corrupted or altered after the checksum was computed — but if an attacker replaced both the file and the published checksum on the same compromised page, the numbers would still match. Real authenticity needs a digital signature, where the checksum is signed with the publisher's private key. For everyday downloads, though, a checksum from the official site is a strong and practical check.

MD5, SHA-1 and SHA-256: which one to trust

MD5 produces a 128-bit hash written as 32 hex characters. It was the standard checksum of the internet for years, but it is now broken for security purposes: researchers can construct two different files with the same MD5 hash in seconds. SHA-1 has the same problem — practical collision attacks exist. Both are still fine for spotting accidental corruption, because accidental collisions are essentially impossible, but neither should be trusted where an attacker might forge a match.

SHA-256 is the modern default. It produces a 256-bit hash written as 64 hex characters, and no practical collision attack against it is known. It is the fingerprint used for software downloads, Git commits, TLS certificates and blockchain blocks. SHA-256 is slower than MD5, but on modern hardware it still processes hundreds of megabytes per second — more than fast enough for any verification task. When a download page offers a choice, pick SHA-256; when it offers only MD5, treat the check as a corruption check, not a security guarantee.

MD5("hello")     -> 5d41402abc4b2a76b9719d911017c592
SHA-1("hello")   -> aaf4c61ddcc5e8a2dabede0f3b482cd9aea9434d
SHA-256("hello") -> 2cf24dba5fb0a30e26e83b2ac5b9e29e1b161e5c1fa7425e73043362938b9824

How to verify a download, step by step

Verifying a download takes less than a minute. First, copy the published checksum from the official download page — not from a mirror or a forum post, but from the publisher's own site. Second, compute the hash of the file you received. Every operating system has a built-in tool for this: on Windows, certutil -hashfile file.exe SHA256; on macOS and Linux, shasum -a 256 file or sha256sum file. For a small file or a quick check of a string, an online hash tool computes MD5, SHA-1 and SHA-256 in the browser without uploading anything.

Third, compare the two strings character by character. Uppercase and lowercase hex letters mean the same thing, but every digit must match — even one differing character means the file is different. Some tools compare for you: paste the expected value and they report match or mismatch. If the values match, install with confidence. If they do not, stop.

  • Windows: certutil -hashfile <file> SHA256
  • macOS: shasum -a 256 <file>
  • Linux: sha256sum <file>
  • Compare the full string — one differing character means a different file.

What to do when checksums do not match

A mismatch does not automatically mean an attack — interrupted downloads and disk errors are more common causes. Start by checking the obvious: did you hash the right file, and did you use the same algorithm as the published value? An MD5 of your file will never match a SHA-256 on the page. Then download the file again, preferably from a different mirror, and verify the fresh copy.

If the fresh copy still does not match, do not install it. Either the published checksum is wrong, the download source is compromised, or the file was replaced somewhere along the way. Contact the publisher through a trusted channel and wait for an answer. It is tempting to override the warning — the software looks fine, the site looks legitimate — but the entire point of a checksum is to catch the cases where appearances deceive.

Checksums beyond downloads

The same idea protects more than installers. Backups are verified with checksums so a silent bit-rot does not surface years later when you need the restore. Version control systems hash every file to detect changes. File-sync tools use checksums to decide which files actually changed instead of copying everything. And when two files have the same checksum, they are almost certainly identical, which is how duplicate finders work.

One place checksums do not belong is password storage — at least not plain, fast ones. A password hashed with MD5 or SHA-256 can be cracked at billions of guesses per second on a GPU, so password storage uses slow, salted functions like bcrypt instead. And when you need a checksum that also proves who produced it, use an HMAC: a hash computed with a secret key, so only someone holding the key could have produced it. A checksum answers "is this file intact?"; an HMAC answers "is this file intact, and did it come from someone with the key?"

Try it yourself

Put what you just read into practice with these free tools — no sign-up needed.

Keep learning

Browse all guides →