Supón que tienes un conjunto de datos (1, 1, 1, 564, 52, 4, 7, 5, 2, 2). Un conjunto puede ser muy diferente y puede ser mucho más largo que el conjunto que te acabo de mostrar.
Por ejemplo, en la Blockchain Bitcoin los conjuntos contienen información sobre cientos y, a veces, miles de transacciones en la red.
Cuando pones el conjunto a través de un algoritmo de criptografía, obtienes un hash que es mucho más corto que el conjunto inicial.
Supón ahora que el hash para el conjunto propuesto anterior es c65p.
Debido a que un conjunto de datos solo puede tener un hash, la verificación de los datos enviados es fácil.
Si necesitas asegurarte de que los datos que has enviado a alguien están intactos, todo lo que debes hacer es verificar el hash.
Enviarías los datos, a continuación y la parte que recibió los datos se ejecuta a través del mismo algoritmo criptográfico.
Luego solo queda comparar los hashes.
Si la otra parte te envía c65p, significa que los datos no se han dañado.
Algoritmos como SHA-256 devuelven hashes muy diferentes para conjuntos de datos muy similares. Esto significa que si (1, 1, 1, 564, 52, 4, 7, 5, 2, 2) devuelve el hash de c65p.
Cambiaría solo un dígito, digamos, 1 en 2, y ejecutaría el conjunto (2, 1, 1, 564, 52, 4, 7, 5, 2, 2) a través del mismo algoritmo de criptografía.
Devolverá entonces un hash completamente diferente, por ejemplo, bbb34P.
Si envías datos a alguien y tienes c65p como hash y obtienes bbb34P como código de verificación, significa que algo le ha sucedido a los datos que enviaste.