File Analysis

Understanding MD5, SHA1, SHA256

Deep dive into hashing algorithms: strengths, weaknesses, and use cases.

1 Introduction

MD5, SHA1, and SHA256 are the three hash algorithms you will encounter most often in cybersecurity. Think of them as three different machines that each produce a fingerprint of a file, but with different levels of precision and security. Understanding their differences is essential for choosing the right one and interpreting analysis reports correctly.

32 chars

MD5 hash length (128 bits)

40 chars

SHA1 hash length (160 bits)

64 chars

SHA256 hash length (256 bits)

2 How It Works

Use the hash calculator below to compute all three hashes simultaneously. Enter the same text and notice how each algorithm produces a completely different output of a different length. This helps you learn to recognize which algorithm was used just by looking at a hash.

Recognizing a hash by its length

MD5 -- 32 hexadecimal characters

d41d8cd98f00b204e9800998ecf8427e

SHA1 -- 40 hexadecimal characters

da39a3ee5e6b4b0d3255bfef95601890afd80709

SHA256 -- 64 hexadecimal characters

e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855

3 Detailed Analysis

MD5 -- Fast but broken

Created in 1991 by Ronald Rivest. MD5 was the standard for years, but researchers demonstrated practical collision attacks in 2004. This means two different files can be crafted to produce the same MD5 hash. MD5 should no longer be trusted for security purposes, but it remains widely used for quick checksums and as a lookup key in malware databases.

+ Very fast + Universally supported - Vulnerable to collisions

SHA1 -- The transitional algorithm

Developed by the NSA and published in 1995. SHA1 was considered secure for a long time, but Google demonstrated a practical collision in 2017 (the "SHAttered" attack). Browsers and certificate authorities have since dropped SHA1. SHA1 is deprecated but still appears in many legacy systems and older threat intelligence reports.

+ Still common in legacy systems - Collision demonstrated in 2017 - Deprecated for certificates

SHA256 -- The current standard

Part of the SHA-2 family, designed by the NSA and published in 2001. SHA256 is currently the gold standard in cybersecurity. No collision has ever been found, and none is expected to be computationally feasible for the foreseeable future. Always prefer SHA256 when you have the choice. It powers Bitcoin, TLS certificates, and modern malware databases.

+ No known collisions + Industry standard + Used in blockchain and TLS

Comparison table

Property MD5 SHA1 SHA256
Output length128 bits160 bits256 bits
Hex characters324064
Collision resistantNoNoYes
SpeedFastestFastModerate
RecommendationAvoidLegacy onlyUse this

Try it on mlab.sh

Compute MD5, SHA1, and SHA256 hashes side by side for any input. See the differences in output length and format that you just learned to recognize.

Generate & compare hashes

4 Red Flags

A system relies solely on MD5 for integrity

If a security tool or download site only provides MD5 hashes, the verification is unreliable. An attacker could craft a malicious file with the same MD5.

SHA1 certificates still in use

If a website's SSL/TLS certificate uses SHA1, it is outdated and potentially vulnerable. Modern browsers will show a warning.

Hash mismatch between algorithms

If a file's SHA256 matches a known good sample but its MD5 matches a known malicious one, investigate further. This could indicate a collision attack.

Threat report only lists MD5 hashes

A quality threat intelligence report should provide at least SHA256 hashes. MD5-only reports may indicate outdated or low-quality intelligence.

Related Modules