Compare two hash strings, identify the likely algorithm from a hash's length, and verify a file against an expected hash — all locally.
The comparison normalises both hashes — trimming whitespace, removing internal spaces and lower-casing — before checking equality, because pasted hashes often arrive wrapped or in upper case. A hash's likely algorithm is identified from its hexadecimal length: 32 characters suggests MD5, 40 SHA-1, 56 SHA-224, 64 SHA-256, 96 SHA-384 and 128 SHA-512; a length outside that table, or characters that are not hexadecimal, is flagged rather than guessed. The file check computes SHA-1, SHA-256 and SHA-512 with the browser's cryptography API and compares each against the pasted expected value, so an expected hash of any of those types can be verified.
Does a matching hash prove a file is safe? A match proves the file is identical to the one the hash was taken from — nothing more. It confirms a download was not altered or corrupted in transit; whether the original itself is trustworthy is a separate question.
Why does case not matter when comparing? Hashes are hexadecimal numbers, and hex is conventionally written in either case. A and a are the same digit, so the comparison ignores case and stray whitespace from pasting.
Can the algorithm be identified for certain from a hash? No — length is strong evidence, not proof, since different algorithms can share an output length in principle. The tool reports the likely algorithm for the common lengths and flags anything unusual.