En esta lección vamos a ver cómo podemos usar las funciones hasheadoras para comprobar la integridad de los archivos.
Comprobación de Integridad
El hashing puede ser usado para comprobar que los archivos no han cambiado. Si pones siempre la misma información de entrada, siempre obtendrás la misma de salida. También es útil para encontrar y eliminar archivos duplicados.
HMACs
HMAC (Keyed-Hash Message Authentification Code) es un tipo de código de mensaje de autentificación que usa una función hasheadora de criptografía en combinación con una clave secreta para verificar la autenticidad e integridad de los datos.
Un HMAC puede ser usado para asegurarse de que la persona que lo ha creado es quien dice ser. Además prueba que el mensaje original no ha sido modificado o corrompido.
Aquí cómo funciona HMAC:
- La clave secreta es añadida al tamaño de la función hasheadora.
- La clave añadida es pasada por un XOR con una constante (usualmente un bloque de 0 y 1).
- El mensaje es hasheado usando la función hasheadora con la clave pasada por un XOR.
- El resultado del paso 3 se hashea de nuevo con la misma función pero usando la clave añadida pasada por XOR con otra constante.
- El resultado final es el valor HMAC.
En la ilustración se muestra:

Técnicamente hablando, la función HMAC se calcula de la siguiente manera:
HMAC(K,M) = H((K ⊕ opad) || H((K ⊕ ipad) || M))
M y K representan el mensaje y la clave, respectivamente.
