A 32-byte digest
Four algorithms produce this length and the digest carries nothing to say which
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
Paste a digest and get every algorithm that produces that length, rather than a guess at one. SHA-256, SHA3-256 and BLAKE2s-256 are all 32 bytes, and nothing inside a digest says which produced it.
Or drop a file anywhere on this panel. Nothing is uploaded: the analysis runs in this tab.
The answer appears here
Paste on the left and press Identify. Nothing leaves this tab.
Nothing else to flag.
No formatting problems, and nothing the rules object to. Worth remembering what that covers: this reads the file you pasted, not the account or cluster it will be applied to.
No finding matches that filter.
Real input you can load into the tool above. Each one shows a different thing going wrong, because that is what the tool is for.
Four algorithms produce this length and the digest carries nothing to say which
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
MD5, MD4 and NTLM share this length, and all three are broken
d41d8cd98f00b204e9800998ecf8427e
These are the ones that fail silently. The config is accepted, nothing raises an error, and the consequence arrives later.
Four common algorithms produce 32 bytes and are not interchangeable. Naming one is picking the most popular and hoping.
Instead:Get the algorithm from the source: a published checksum states it, and a database column has it in the code that wrote it.
A digest is a fixed size regardless of input, so information is destroyed by construction. Decoder sites run a precomputed table of common inputs, which works for weak passwords and never for a long random string.
Instead:If a leaked digest is unsalted and the input was low-entropy, treat it as disclosed. Otherwise the lookup approach does not apply.
Broken means collision resistance: an attacker can produce two inputs with one digest. That destroys signatures and does not affect detecting accidental file corruption.
Instead:Migrate signatures and integrity claims. A non-adversarial checksum is not worth a migration on its own.
The output of a good hash is indistinguishable from random, which is exactly why it carries no metadata about how it was produced.
Four common algorithms produce 32 bytes and are not interchangeable. Two produce 20. Four produce 64. A tool that names one is picking the most popular and hoping. The useful answer is the whole candidate set plus where to look to narrow it: a published checksum states its algorithm, and a database column has its algorithm in the code that wrote it.
A digest is a fixed size regardless of input size, so information is destroyed by construction and there are infinitely many inputs for any output. What a hash decoder site does is look the digest up in a precomputed table of common inputs. That works for a weak password and never for a long random string, and the difference is what tells you whether a leaked digest is a problem or a non-event.
MD5 has had practical collisions since 2004 and chosen-prefix collisions since 2019. SHA-1 had a chosen-prefix collision demonstrated in 2017. Broken here means collision resistance: an attacker can produce two inputs with the same digest. That destroys signatures and integrity claims against an adversary, and it does not affect using MD5 to detect accidental file corruption, which is why it is still everywhere and why a migration is not automatically urgent.
The same 32 bytes is 64 hex characters or 44 base64 ones. Storing digests base64 is common because it is shorter, and it is why a familiar digest can arrive looking like an unfamiliar string. The byte count is the thing to compare.
Anything starting with a dollar sign carries its own algorithm identifier, cost parameters and salt, so there is nothing to infer. That is the entire point of modular crypt format, and the password hash inspector reads it properly.
The algorithm, because it is not in the digest. It computes nothing: it reads the string you paste, in your browser, and never sends it anywhere. If you need to confirm a candidate, hash a known input with each and compare.