JWT Decoder
Decode any JWT instantly — read header claims, payload fields, and expiry timestamps without a signing key. Free, nothing stored.
Open toolTools › Developer Tools › Hash Generator
Generate MD5, SHA-1, SHA-256, and SHA-512 hashes from text or files. Runs entirely in your browser — nothing uploaded, nothing stored.
Drop any file here, or click to browse
Max 20 MB · Any format
MD5 and SHA-1 are cryptographically weak — vulnerable to collision attacks and not suitable for password hashing or digital signatures. Use them for checksums and data verification only.
The AT USE Hash Generator computes MD5, SHA-1, SHA-256, and SHA-512 hashes simultaneously from any text string or file. All four algorithms run in your browser using the Web Crypto API's SubtleCrypto interface and the spark-md5 library for MD5 — no server receives your input. You can disconnect from the internet after the page loads and hash sensitive files without any data leaving your device.
MD5 (128-bit output) and SHA-1 (160-bit output) are the oldest of the four algorithms on this page, and both are cryptographically broken for security use cases. Collision attacks against MD5 have been practical since 2004; SHA-1 collision attacks became practical in 2017 when the Google SHAttered project found the first real-world collision. This means a deliberate attacker can craft two different files that produce the same MD5 or SHA-1 hash — making these algorithms unsuitable for digital signatures, certificates, and password storage. For detecting accidental corruption during file downloads or data transfers, MD5 and SHA-1 are still commonly used because accidental collisions are statistically impossible; the weakness is exploitable only with deliberate effort.
SHA-256 (256-bit output) and SHA-512 (512-bit output) are part of the SHA-2 family, standardized by NIST in 2001. No practical collision attack against either has been found as of 2025. SHA-256 is used in Bitcoin's proof-of-work algorithm and address derivation, TLS 1.3 certificate signing, code-signing in Windows and macOS, and software download verification (apt, brew, pip all use SHA-256 checksums). SHA-512 offers a larger security margin and is faster than SHA-256 on 64-bit processors due to native 64-bit word operations. Use SHA-256 for general-purpose hashing where compatibility matters; use SHA-512 when you need the extra margin or are hashing on a 64-bit server pipeline.
When you hash a file, the browser reads it as an ArrayBuffer using the FileReader API and passes the raw bytes to both the SHA family (via SubtleCrypto.digest) and spark-md5's ArrayBuffer reader. All four hashes are computed in parallel using Promise.all(), so hashing a 20 MB file produces all four results in a few seconds. The most practical use is download verification: a software publisher publishes the SHA-256 hash of an installer; you download the installer and hash it here; if the hashes match, the file arrived intact and unmodified. This is the same technique used by Linux distributions for ISO verification and by package managers for dependency integrity.
No. All hashing runs entirely in your browser using the SubtleCrypto API and spark-md5. Nothing is uploaded, transmitted, or stored. You can disconnect from the internet after the page loads and hash files normally.
All four produce a fixed-length fingerprint from input data. MD5 outputs 128 bits (32 hex characters). SHA-1 outputs 160 bits (40 hex characters). SHA-256 and SHA-512 are part of the SHA-2 family and output 256 bits (64 hex characters) and 512 bits (128 hex characters) respectively. SHA-256 and SHA-512 are cryptographically secure; MD5 and SHA-1 are not recommended for security use cases.
MD5 is vulnerable to collision attacks — two different inputs can be deliberately crafted to produce the same MD5 hash. This makes it unsuitable for digital signatures, certificates, and password storage. For checksums to detect accidental corruption (download verification, file integrity checks), MD5 is still practical because collisions require deliberate construction rather than random error.
SHA-256 is used in Bitcoin proof-of-work and address derivation, TLS certificate signing, code-signing signatures, and software download verification. It is the hash function in HMAC-SHA256, commonly used for JWT signatures and API request signing. As of 2025, no practical collision attack against SHA-256 exists.
The browser-side limit is 20 MB. For larger files, use sha256sum or md5sum on Linux/macOS, or certutil -hashfile file SHA256 on Windows — these are built-in command-line tools that handle files of any size.
A hash collision occurs when two different inputs produce the same hash output. For a perfectly random hash function of n bits, the expected number of inputs needed to find a collision is 2^(n/2) — the birthday bound. Practical attacks against MD5 and SHA-1 find collisions much faster than this theoretical limit, which is why they are considered broken for security purposes.
Also try
Decode any JWT instantly — read header claims, payload fields, and expiry timestamps without a signing key. Free, nothing stored.
Open toolEncode text, files, and images to Base64 or decode Base64 strings back to their original form. URL-safe variant supported. Free, runs in your browser.
Open toolGenerate cryptographically secure passwords client-side. Set length, character classes, and exclusions. Uses window.crypto — nothing leaves your browser.
Open toolFormat, validate, and beautify JSON instantly. Error messages show exact line and column. Free, runs in your browser.
Open tool