Это проблема кодирования, которая у меня была раньше между PHP и C #.
Если PHP манипулирует строками ISO-8859-1 (что, вероятно, является вашим случаем), вы можете сделать:
md5(utf8_encode($stringToEncrypt))
Лучший способ протестировать - это попробовать очень простую строку с содержимым a-z, которая должна нормально работать независимо от проблем с кодировкой. Это работает, и все это не так, у вас есть проблема с кодировкой.
Вы также можете сделать:
byte[] bs = System.Text.Encoding.GetEncoding("ISO-8859-1").GetBytes(stringToEncrypt);
и
md5($stringToEncrypt)
будет работать просто отлично.