MD5 es independiente del sistema operativo y la arquitectura. Entonces es "consistente".
Sin embargo,, MD5 toma como entrada una secuencia arbitraria de bits y genera una secuencia de 128 bits. En muchas situaciones, quieres cadenas. Por ejemplo, quiere hash una contraseña, y la contraseña es inicialmente una cadena. La conversión de esa cadena en una secuencia de bits no es parte de MD5 en sí misma, y existen varias convenciones. No sé exactamente sobre C#, pero el método equivalente a Java String.getBytes()
utilizará el "juego de caracteres predeterminado de la plataforma", que puede variar con la instalación del sistema operativo. Del mismo modo, la salida de MD5 a menudo se convierte en una cadena con notación hexadecimal, y puede ser mayúscula o minúscula o lo que sea.
De modo que, si bien MD5 en sí mismo es consistente, a menudo acechan los errores en las piezas que preparan los datos para MD5 y postprocesan su salida. Tener cuidado.
¿Está haciendo un hash md5 para ocultar contraseñas en su base de datos? No debe http://wblinks.com/notes/storing-passwords-the-wrong-better-and-even-better-way – gingerbreadboy