public static int FindLowestNumberThatGivesHashWithZeros(int zeroesCount) { string zeroes = new string('0', zeroesCount); int number = 0; while (true) { string hash = new Md5Hash(Program.SecretKey + number, Encoding.ASCII).ToString(); string firstDigits = hash.Substring(0, zeroes.Length); if (firstDigits == zeroes) { return(number); } number++; } }