SHA-256 traite des blocs de 64 octets en 64 tours sur des mots de 32 bits, dans une construction de Merkle–Damgård, et produit 32 octets. Son condensat de la chaîne vide est e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 et celui de abc est ba7816bf8f01cfea414140de5dae2223b00361a396177a9cb410ff61f20015ad. Aucune attaque n’approche ses bornes de sécurité.
La plupart des processeurs modernes disposent d’instructions SHA-256 (extensions SHA d’Intel et d’AMD, extensions cryptographiques ARMv8). Sur un cœur d’Apple M4 Max, OpenSSL 3.6.5 hache environ 2,85 Go/s avec des tampons de 16 Kio, plus vite que SHA-512 (1,65 Go/s) et SHA3-256 (1,01 Go/s) sur la même machine. Bitcoin l’applique deux fois (SHA-256d) pour les identifiants de blocs et de transactions.
Sa structure de Merkle–Damgård permet l’extension de longueur : SHA-256(secret ‖ message) n’est donc pas un MAC sûr ; utilisez HMAC-SHA256. Identifiants : OID 2.16.840.1.101.3.4.2.1, JOSE S256 dans PKCE et sha-256 dans le _sd_alg de SD-JWT, SHA-256 dans WebCrypto, sha256 dans OpenSSL et Node.