Why do MD5 and NTLM both show up for the same hash?
Because both algorithms produce exactly 128-bit digests, that is, 32 hexadecimal characters, and neither carries a prefix or format marker that tells them apart within the string; the only way to know which is which comes from the context the hash was pulled from, for example a Windows SAM file points to NTLM.
What does the number next to each candidate (hashcat) mean?
It is the mode identifier hashcat itself uses for that algorithm, for example `-m 0` runs attacks against MD5 and `-m 1400` against SHA-256; the identifier shows this number as a reference for whoever plans to use the hash in a cracking tool, not as part of the hash calculation itself.
Why is a bcrypt hash identified with more confidence than a SHA-256 one?
Because bcrypt embeds its own format inside the hash: the `$2y$` prefix, the cost factor, and the clear separation between salt and digest leave little doubt about the algorithm. A raw SHA-256 hash is just 64 hexadecimal characters with no marker at all, so the same length also fits SHA3-256 and Keccak-256.
Does matching length always mean two hashes came from the same text?
No, matching length only means the candidate algorithms produce hashes of the same size; it says nothing about the source text. Two different MD5 hashes, both 32 characters long, almost certainly come from different texts, unless they are identical character for character.