Единственный абсолютный ответ должен представить приложение в случае, если. Существует столько факторов, что не возможно дать точный ответ thah, корректно во всех случаях.
Вам лучше использовать System.Security.Cryptography.MD5 .
HMACMD5 не вычисляет хэш, он вычисляет код аутентификации сообщения.
HMACMD5 - это тип хэша с ключом алгоритм, который построен из Хеш-функция MD5 и используется как Код аутентификации сообщений на основе хэша (HMAC). Процесс HMAC смешивает секретный ключ с данными сообщения, хеширует результат с помощью хеша функция, смешивает это хеш-значение с снова секретный ключ, затем применяет хэш-функция второй раз. В выходной хэш будет иметь длину 128 бит
Поскольку вы не предоставляете ключ HMAC, он генерируется для вас случайным образом от вашего имени, и вы видите разные результаты.
У вас не должно быть bufferedStream между ними. Я предполагаю, что при каждом запуске буферизуется разное количество байтов.
Я предлагаю вам не вычислять хэши MD5, поскольку MD5 выдает на выходе 32 шестнадцатеричных числа фиксированной длины. Видеть какие-либо числа от 0xA до 0xF весьма затруднительно
Вы можете захотеть проверить «реальный» результат с помощью онлайн-калькуляторов MD5, таких как этот