tipos huella generador funciones funcion ejemplos descargar algoritmo hash

huella - MD5 etc. como función hash



huella hash (4)

MD5 está diseñado para distribuir uniformemente la entrada sobre todos los bytes de salida, por lo que es tan bueno como cualquier otra función hash general. Suena como un exceso si solo quieres 256 valores.

Tenga en cuenta que la salida de MD5 es 128bytes (16bytes), solo la representación de texto son dígitos hexadecimales, por lo que realmente no hay dos primeros dígitos de MD5, solo use los 8 bits inferiores.

Digamos que está planeando diseñar una función hash que generará claves entre 0-256. ¿Será una buena idea usar los primeros 2 dígitos de MD5-digest para una distribución uniforme? ¿Qué piensas sobre esto? ¿Es caro md5 () alguna palabra (2-10 letras)?

Sé que es una definición aproximada de los requisitos, pero sería genial discutir esto.


No ha explicado cómo va a usar el hash, y qué va a hacer con las colisiones que son inevitables dado que solo tiene 256 valores de salida.

Creo que incluso MD5 (que ya no es criptográficamente seguro) es excesivo para las posibles aplicaciones.

Probablemente vaya con un algoritmo CRC (verificación de redundancia cíclica) que generaría un número de 16 bits o de 32 bits para ti, y probablemente te daría una distribución lo suficientemente buena.


No hay ninguna razón para usar un hash de fuerza criptográfica para algo tan simple como generar hashes de 3 dígitos. Es mejor usar un hash más simple allí.

No estoy seguro de cuán caro es el MD5 en relación con los demás, pero hay muchas mejores maneras de crear un hash pequeño (consulte este artículo para conocer algunas ideas sobre algoritmos).