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.
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.