A los efectos de la toma de huellas dactilares, los datos con la menor probabilidad de colisión combinarán la longitud (como un entero sin signo de 32 bits almacenado además del hash) de los datos de entrada y / o muestreando algunos bytes de la entrada, fortalecen significativamente la salida resultante combinada con el hash?
Por ejemplo:
sha256(data) + length + first_2_bytes_of_data = 304 bits
Nota: (actualizado )
- La privacidad de los datos de entrada no es primordial, más la capacidad de detectar si los datos han cambiado.
- También utilizo una función hash de 256 bits en este ejemplo, pero la pregunta es menos acerca de la elección final de la función hash y más acerca de cómo agregar la ayuda de 6 bytes adicionales.
- La longitud en bytes de los datos de entrada siempre será variable pero siempre menor o igual a 2 a la potencia de 32.
- La salida resultante se usará para la verificación de integridad y como clave de diccionario para hasta 2 ^ 64 elementos (si la colisión de la clave se considera poco práctica o imposible)