SHA-256 (Secure Hash Algorithm 256-bit) es un miembro de la familia SHA-2 de funciones hash criptográficas, diseñada por la NSA. Es una función unidireccional determinista que toma una entrada de cualquier tamaño y produce una salida de longitud fija de 256 bits. Sus propiedades clave incluyen la resistencia a la preimagen (es computacionalmente inviable revertir el hash para encontrar la entrada original), la resistencia a la segunda preimagen (es difícil encontrar una entrada diferente que produzca el mismo hash que una entrada dada) y la resistencia a colisiones (es computacionalmente inviable encontrar dos entradas diferentes que produzcan el mismo hash).

SHA-256 se implementa ampliamente en una miríada de sistemas y herramientas. Es el algoritmo de hashing fundamental utilizado en Bitcoin y muchas otras criptomonedas para la minería y la verificación de transacciones. Se emplea en certificados SSL/TLS para asegurar la comunicación web, en firmas digitales para verificar la autenticidad de documentos y software, y en sistemas de control de versiones como Git para identificar y verificar la integridad de los objetos (commits, árboles, blobs). También es común en la verificación de la integridad de descargas de software y en el almacenamiento seguro de contraseñas (generalmente combinado con 'salting').

Para un arquitecto, SHA-256 es crucial por su rol en la seguridad y la integridad de los datos. Su elección impacta directamente la robustez de los sistemas de autenticación, la inmutabilidad de los registros (como en blockchain) y la confianza en la distribución de software. Al diseñar sistemas, un arquitecto debe considerar el rendimiento (velocidad de hashing), la seguridad (resistencia a ataques de colisión, aunque SHA-256 sigue siendo robusto) y la compatibilidad con estándares. Es vital entender que SHA-256 no es una función de cifrado; no se puede descifrar. Su propósito es la verificación de la integridad y la unicidad, no la confidencialidad. Para el almacenamiento de contraseñas, siempre debe combinarse con un 'salt' único por usuario para mitigar ataques de tablas arcoíris y con un algoritmo de derivación de clave (como PBKDF2 o Argon2) para aumentar la resistencia a ataques de fuerza bruta.