SHA-256 обрабатывает 64-байтные блоки за 64 раунда над 32-битными словами в конструкции Меркла — Дамгора и выдаёт 32 байта. Дайджест SHA-256 для пустой строки — e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855, для строки abc — ba7816bf8f01cfea414140de5dae2223b00361a396177a9cb410ff61f20015ad. Ни одна атака даже не приближается к границам её стойкости.
У большинства современных процессоров есть инструкции для SHA-256 (расширения SHA у Intel и AMD, криптографические расширения ARMv8). На одном ядре Apple M4 Max OpenSSL 3.6.5 хеширует со скоростью около 2,85 ГБ/с с буферами по 16 КиБ — быстрее, чем SHA-512 (1,65 ГБ/с) и SHA3-256 (1,01 ГБ/с) на той же машине. Bitcoin применяет SHA-256 дважды (SHA-256d) для идентификаторов блоков и транзакций.
Структура Меркла — Дамгора допускает атаку удлинения сообщения, поэтому SHA-256(secret ‖ message) не годится как MAC; используйте HMAC-SHA256. Идентификаторы: OID 2.16.840.1.101.3.4.2.1, S256 в PKCE (JOSE) и sha-256 в _sd_alg для SD-JWT, SHA-256 в WebCrypto, sha256 в OpenSSL и Node.