¿Cuál es la longitud máxima de la cadena que puede tener hasd md5? O: si no tiene límite, y si es así, ¿cuál será la longitud máxima del valor de salida md5?
¿Cuál es la longitud máxima de la cadena que puede tener hasd md5? O: si no tiene límite, y si es así, ¿cuál será la longitud máxima del valor de salida md5?
Respuestas:
MD5 procesa un mensaje de longitud arbitraria en una salida de longitud fija de 128 bits, típicamente representada como una secuencia de 32 dígitos hexadecimales.
128 bits
= 16 bytes
=32 hex digits
Agregar longitud
Una representación de b de 64 bits (la longitud del mensaje antes de que se agreguen los bits de relleno) se agrega al resultado del paso anterior. En el caso improbable de que b sea mayor que 2 ^ 64, solo se utilizan los 64 bits de orden inferior de b.
Ver más aquí .
MD5("how many characters exactly?");
Puede tener cualquier longitud, pero, por supuesto, puede haber un problema de memoria en la computadora si la entrada de la cadena es demasiado larga. La salida es siempre de 32 caracteres.
block
bytes de entrada disponibles a la vez.
El algoritmo ha sido diseñado para admitir longitud de entrada arbitraria. Es decir, puedes calcular hashes de archivos grandes como ISO de un DVD ...
Si hay una limitación para la entrada, podría provenir del entorno donde se utiliza la función hash. Supongamos que desea calcular un archivo y el entorno tiene un límite MAX_FILE.
Pero la cadena de salida siempre será la misma: ¡32 caracteres hexadecimales (128 bits)!
Un hash MD5 de 128 bits se representa como una secuencia de 32 dígitos hexadecimales.
Es posible que desee utilizar SHA-1 en lugar de MD5 , ya que MD5 se considera roto.
Puede leer más sobre las vulnerabilidades MD5 en este artículo de Wikipedia .
No hay límite para la entrada de md5 que yo sepa. Algunas implementaciones requieren que toda la entrada se cargue en la memoria antes de pasarla a la función md5 (es decir, la implementación actúa en un bloque de memoria, no en una secuencia), pero esto no es una limitación del algoritmo en sí. La salida es siempre de 128 bits. Tenga en cuenta que md5 no es un algoritmo de cifrado, sino un hash criptográfico. Esto significa que puede usarlo para verificar la integridad de una porción de datos, pero no puede revertir el hash. También tenga en cuenta que md5 se considera roto, por lo que no debe usarlo para nada relacionado con la seguridad (todavía está bien verificar la integridad de los archivos descargados y demás).