b2KIT

Malware Hash Checker

Check file hashes (MD5, SHA-1, SHA-256) against known malware databases. Upload a file to compute and verify its hash.

Tested tool guide Tested browser tools Checked August 16, 2026

What Malware Hash Checker does, with a checked example

Upload a file and this checker computes its MD5, SHA-1, and SHA-256 digests, then compares each against a collection of hashes associated with known malware. The comparison is exact-match, so the answer it gives is narrow: this exact file has been seen before, or it has not. The most common misunderstanding is reading a no-match result as proof of safety. Hashing is byte-sensitive: a one-bit change, a recompiled build, or a brand-new sample produces hashes nobody has cataloged, and the checker reports the same no-match it would for a perfectly clean file.

Worked example

A concrete input and expected output from the current implementation.

Input

A file whose entire content is the five ASCII bytes hello (h-e-l-l-o, no trailing newline).

Expected output

MD5: 5d41402abc4b2a76b9719d911017c592, SHA-1: aaf4c61ddcc5e8a2dabede0f3b482cd9aea9434d, SHA-256: 2cf24dba5fb0a30e26e83b2ac5b9e29e1b161e5c1fa7425e73043362938b9824, and a database lookup with no match.

These are the standard published test-vector digests for the five-byte string hello; hashing is deterministic, so any correct implementation produces these values. This benign sample's hashes do not appear in malware collections, so the lookup returns no match.

How the result is produced

1

Hash computation

The checker reads the uploaded file and runs three standard algorithms over its bytes: MD5, SHA-1, and SHA-256. Each produces a fixed-length hexadecimal digest, 32, 40, and 64 characters respectively. Because every byte of the file contributes to every digest, a one-bit difference anywhere changes all three results completely, and the same file always yields the same three values.

2

Exact-match lookup

Each computed digest is compared against hashes in a collection built from known malware samples. A file is flagged only when a digest equals a stored value character for character. The collection catalogs specific files, not families or behaviors, so re-packed, recompiled, or renamed variants of a known threat typically do not match, and a file never seen before cannot be flagged at all.

Good uses

  • Before opening a downloaded installer, document, or binary from an untrusted source, find out whether that exact file is already cataloged as malicious.
  • After a download from a vendor or mirror, compare the computed hash against the checksum the publisher lists, to confirm the bytes arrived unchanged.
  • While triaging a suspicious file found on a machine, record its three hashes so the same file can be looked up later in other threat-intelligence services.

Limits and checks

  • No match is not safe. The lookup answers only whether this exact byte sequence appears in the collection; brand-new malware, modified samples, and genuinely clean files all return the same no-match result. Treat the outcome as unknown, not clean, and weigh the file's origin.
  • A match identifies the file as previously seen, not as an active threat in your environment. Collections record that a sample was associated with malicious activity at some point; they say nothing about current behavior, and an old match can be harmless on a patched system.
  • MD5 and SHA-1 are no longer collision-resistant: distinct files sharing an MD5 digest are easy to construct, and real SHA-1 collisions have also been demonstrated. Against a motivated adversary, SHA-256 is the meaningful check; the shorter digests still work for detecting accidental corruption.

Common questions

The check says no match. Is the file safe to open?

No. It means this exact file's hashes are not in the collection, which is also the result a brand-new sample or a modified copy would produce. Unknown is not clean, so consider the file's source, verify against the publisher's checksum when one exists, and open high-risk files only in a sandbox or disposable virtual machine.

How is this different from uploading the file to VirusTotal?

VirusTotal runs the file through many antivirus engines and community reports, which can catch heuristic and behavioral signals. This checker compares hashes only, so anything its collection has not cataloged is invisible to it. A no-match here does not mean other engines would stay quiet, and submitting a file to a third-party service is itself a disclosure.

References and verification

The example and behavioral notes were checked against the browser implementation. Standards and primary references below define the relevant format, formula, or platform behavior.

Related Tools