2011-08-09 22 views
8

Usaría el hash MD5 para almacenar contraseñas encriptadas. La contraseña puede tener entre 6 y 40 caracteres. ¿Cuál es el tamaño de columna de la base de datos requerido para almacenar la contraseña encriptada? Además, si el tamaño de hash de 40 caracteres es muy grande, ¿cuánto tamaño de hash tomaría una contraseña de 20 caracteres?Tamaño del hash MD5 generado

Estoy usando FormsAuthentication.HashPasswordForStoringInConfigFile(stringToEncrypt, "MD5"); para generar hash para almacenar en la base de datos.

+12

hashing! = Encriptación – Oded

+1

Además, no use MD5 para contraseñas. Use un algoritmo hash computacionalmente costoso como BCrypt o SCrypt, por lo que es difícil revertirlos por la fuerza bruta. –

Respuesta

24

Un algoritmo de hash se asignen siempre un mensaje de tamaño arbitrario a una representación de longitud fija. En otras palabras, puede hash una cadena vacía o muchos gigabytes de información. El tamaño del hash siempre es fijo.

En su caso, el tamaño del hash es de 128 bits. Cuando se convierte en una cadena ASCII, sería una cadena de 32 caracteres que contiene solo dígitos hexadecimales.

+0

Muchas gracias. Usaré una columna de 32 caracteres para almacenar la contraseña hash. – Jatin

+8

Recuerde, si está contraseñas hash manualmente, lo está [haciendo las cosas mal] (http://www.codinghorror.com/blog/2007/09/youre-probably-storing-passwords-incorrectly.html). Por favor [use bcrypt] (http://stackoverflow.com/questions/481160/is-bcrypt-a-good-encryption-algorithm-to-use-inc-c-where-can-i-find-it). –

3

Los valores hash MD5 siempre tienen exactamente 16 bytes (128 bits) de longitud, independientemente de la longitud de la entrada.

6

http://msdn.microsoft.com/en-us/library/system.security.cryptography.md5.aspx

El tamaño de hash para el algoritmo MD5 es de 128 bits, independientemente de la longitud de la cadena que se está hash.

considere usar una nuevas funciones de hash SHA como 256.

+1

O para almacenar contraseñas, [use bcrypt] (http://stackoverflow.com/questions/481160/is-bcrypt-a-good-encryption-algorithm-to-use-inc-c-where-can-i-find -eso). –