You're using .contains. This is a terrible idea, if you want to be secure, check for equality. My first guess, based on you not telling us anything about your attempts to debug this code, is that
HashDecoded
is empty or a single character, and thus
HashInfo
always contains it.