Pular para o conteúdo
ecdsa.com

SHA-256

O membro de 256 bits da família SHA-2 (FIPS 180-4), hash padrão do TLS, do JWT, do X.509, do Bitcoin e da maioria das ferramentas de integridade de arquivos, com resistência de 128 bits a colisões e de 256 bits a pré-imagens.
Também escrito comoSHA256SHA2-256sha256sum

O SHA-256 processa blocos de 64 bytes em 64 rodadas sobre palavras de 32 bits, em uma construção de Merkle–Damgård, e produz 32 bytes. O digest da string vazia é e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 e o de abc é ba7816bf8f01cfea414140de5dae2223b00361a396177a9cb410ff61f20015ad. Nenhum ataque chega perto dos seus limites de segurança.

A maioria das CPUs modernas tem instruções SHA-256 (extensões SHA da Intel e da AMD, extensões criptográficas do ARMv8). Em um núcleo de um Apple M4 Max, o OpenSSL 3.6.5 calcula hashes a cerca de 2,85 GB/s com buffers de 16 KiB, mais rápido que o SHA-512 (1,65 GB/s) e o SHA3-256 (1,01 GB/s) na mesma máquina. O Bitcoin o aplica duas vezes (SHA-256d) nos IDs de blocos e de transações.

Sua estrutura de Merkle–Damgård permite a extensão de comprimento, então SHA-256(secret ‖ message) não é um MAC seguro; use HMAC-SHA256. Identificadores: OID 2.16.840.1.101.3.4.2.1, JOSE S256 no PKCE e sha-256 no _sd_alg do SD-JWT, SHA-256 no WebCrypto, sha256 no OpenSSL e no Node.

Padrões e referências

Todos os termos