Qraft

Hash

Una función hash convierte datos de entrada de cualquier longitud en una salida de longitud fija (valor hash o digest). La misma entrada siempre produce el mismo hash, pero revertir el proceso es computacionalmente inviable. Incluso un cambio de un solo bit altera dramáticamente la salida.

Basta con cambiar un solo carácter de la entrada para que el hash sea un valor completamente distinto (efecto avalancha). Tomando solo los 16 primeros dígitos de la salida SHA-256, se ve así.

EntradaPrimeros 16 dígitos de la salida SHA-256
QR code2c24d35a117c162d
QR Code5a779155eadaaa3b
QR codesf24e1b51e717a757

Los hashes cumplen múltiples roles alrededor de los códigos QR: en pagos QR, los hashes de datos de transacción combinados con firmas digitales detectan manipulación; la generación de TOTP también depende de funciones hash. Los checksums son conceptualmente similares - el principio de "verificar datos con un valor corto" se aplica desde la estructura interna del código QR hasta la capa de aplicación.

Dónde aparece el hash alrededor de los códigos QR.

ÁmbitoUso del hashFinalidad
Pagos con código QREl hash de los datos de la transacción se combina con una firma digitalDetectar manipulaciones en la información de pago
TOTP (contraseña de un solo uso)El código se deriva mediante funciones hashObtener una contraseña de un solo uso
ChecksumsSe verifica un valor corto en lugar de los datos completosComprobar que los datos son correctos