Hashing
Cryptographic hashing genera un digest de longitud fija a partir de datos de entrada de cualquier tamaño, con propiedades de determinismo, no invertibilidad y resistencia a colisiones, lo que permite la integridad y autenticación de datos.
Una cryptographic [[hash function](/es/terms/hash-function)](/es/terms/cryptographic-hash-function) toma una entrada de longitud arbitraria y devuelve un digest de longitud fija. Se caracteriza por el determinismo, tamaño de salida fijo y one-wayness. Además de ser determinista y de longitud fija, las cryptographic hash functions buscan proporcionar preimage resistance (dado un digest, encontrar un preimage es infactible), second-preimage resistance (es infactible encontrar una entrada diferente con el mismo digest) y collision resistance (es difícil encontrar dos entradas que colisionen). Están diseñadas para ser eficientes de computar, y el digest de salida debe exhibir el avalanche effect: un pequeño cambio en la entrada produce un digest significativamente diferente. Se utilizan en comprobaciones de integridad de datos, firmas digitales y password hashing cuando es apropiado. Nota: un nonce no es una propiedad de la hash function en sí misma; puede ser utilizado en protocolos para salting o variar contextos de hashing, pero no forma parte de la propiedad central de la hash function.
graph LR
Center["Hashing"]:::main
Rel_iteration["iteration"]:::related -.-> Center
click Rel_iteration "/terms/iteration"
Rel_hash_function["hash-function"]:::related -.-> Center
click Rel_hash_function "/terms/hash-function"
Rel_consensus_mechanism["consensus-mechanism"]:::related -.-> Center
click Rel_consensus_mechanism "/terms/consensus-mechanism"
classDef main fill:#7c3aed,stroke:#8b5cf6,stroke-width:2px,color:white,font-weight:bold,rx:5,ry:5;
classDef pre fill:#0f172a,stroke:#3b82f6,color:#94a3b8,rx:5,ry:5;
classDef child fill:#0f172a,stroke:#10b981,color:#94a3b8,rx:5,ry:5;
classDef related fill:#0f172a,stroke:#8b5cf6,stroke-dasharray: 5 5,color:#94a3b8,rx:5,ry:5;
linkStyle default stroke:#4b5563,stroke-width:2px;
🧠 Prueba de conocimiento
🧒 Explícalo como si tuviera 5 años
Hashing is like making a smoothie out of a fruit. You can easily turn a strawberry into a smoothie, but there's no way to turn the smoothie back into a strawberry. Also, a single strawberry will always make the exact same smoothie!
🤓 Expert Deep Dive
## The Significance of SHA-256
SHA-256 is the beating heart of the Bitcoin network. It is used to create the linked 'chain' by including the previous block's hash in the current block, and it powers the Proof-of-Work mining system where miners compete to find a specific hash. Its 256-bit output provides 128-bit 'collision security,' which remains strong even against the most advanced classical computers.