0

Gerador de hash SRI

Gere um hash de integridade de sub-recursos para qualquer arquivo JS ou CSS e obtenha um script ou tag de link pronto para colar.

🔗

Arraste e solte a imagem

Funciona com qualquer arquivo JS ou CSS — nada é carregado, o hash é calculado localmente.

A integridade de sub-recursos permite apenas resumos sha256, sha384 ou sha512, codificados em base64 - esta ferramenta restringe as escolhas de acordo para que a saída esteja sempre com as especificações corretas.

Buy Me a Coffee at ko-fi.com
Processando... 0%
Lendo arquivo
Resumo de computação
Codificação para base64
Concluído

Resultado

Subresource Integrity (SRI) permite que um navegador verifique se um script ou folha de estilo obtido de um CDN ou host de terceiros não foi alterado antes de ser executado - o navegador faz hash dos bytes baixados e se recusa a executar o arquivo se o resumo não corresponder ao atributo de integridade que você publicou. Esta ferramenta calcula esse resumo para qualquer arquivo JS ou CSS que você inserir, inteiramente dentro da guia do navegador, para que o arquivo em si nunca precise sair da sua máquina para ser hash.

Uma ferramenta hash genérica não produzirá um valor SRI utilizável: a especificação requer um resumo codificado em base64, não a string hexadecimal que a maioria das ferramentas de checksum imprime, e reconhece apenas três algoritmos – sha256, sha384 e sha512. Este gerador restringe a escolha do algoritmo exatamente a esses três e codifica o resultado da maneira correta, depois vai um passo além, compondo a tag HTML completa em torno dele, com um campo src ou href de espaço reservado que você pode editar no local antes de copiar.

Nos bastidores, o arquivo é lido com a API File, hash com a implementação nativa crypto.subtle.digest() e os bytes resultantes são convertidos para base64 em pequenos pedaços, em vez de com uma única operação de grande propagação - um detalhe que importa quando um arquivo JS agrupado ultrapassa cerca de cem mil bytes, onde abordagens de conversão ingênuas podem atingir o limite de pilha de chamadas de um navegador.

sha384 é selecionado por padrão porque é o algoritmo mais comumente recomendado em exemplos e documentação de SRI, equilibrando o comprimento do resumo com a resistência à colisão, mas sha256 e sha512 estão a um clique de distância se um pipeline de construção ou provedor de CDN especificar um requisito diferente.