¿Qué es HMAC SHA256?
HMAC (Hash Message Authentication Code) es un tipo de autenticación de mensajes en el que intervienen dos elementos: una función hash criptográfica y un secreto compartido entre dos partes.
La calidad criptográfica del método dependerá de la función hash criptográfica elegida y de la calidad del secreto compartido.
HMAC SHA256 utiliza dos pasadas de cálculos hash. En primer lugar, la clave compartida se utiliza para derivar dos claves (interna y externa). En la primera vuelta, el hash HMAC-SHA256 genera un hash basado en la clave y el mensaje. En la segunda vuelta, se genera el HMAC final basado en el hash anterior y la segunda clave derivada.
HMAC garantiza la integridad y autenticidad de los datos. Puesto que ambas partes han compartido una clave privada, cuando una de ellas recibe el mensaje (con el hash de la otra parte), vuelve a calcular el hash y verifica que coincide con el hash que la otra parte ha enviado. Esto significa que es la otra parte la que envía el mensaje, ya que nadie más tiene acceso a la clave privada.