Cole o texto exato do script ou CSS para calcular o hash dos bytes UTF-8. A URL é usada apenas na tag; seu conteúdo não é baixado.
Funciona localmente no seu navegadorA página transforma o texto de JavaScript ou CSS colado em valores de Subresource Integrity com a API Web Crypto. Ela codifica o texto em UTF-8, calcula o hash dos bytes com SHA-256, SHA-384 ou SHA-512 e mostra cada resultado em base64 no formato sha256-… que o atributo integrity espera.
Tudo acontece nesta aba: o texto não é enviado, nenhuma requisição é feita enquanto a ferramenta trabalha, e a URL opcional só entra na tag HTML que você cola ao lado do script ou da folha de estilo que quer proteger.
A entrada é lida como texto e codificada com TextEncoder, então o hash cobre os bytes UTF-8 exatamente do que está na caixa. Cole abc e a primeira linha é sha256-ungWv48Bz+pBQUDeXa4iI7ADYaOWF3qctBD/YfIAFa0=, o mesmo valor que printf abc | openssl dgst -sha256 -binary | base64 imprime. Cada hash é o base64 do resumo bruto unido ao nome do algoritmo por um hífen: o formato usado pelo atributo integrity.
Um único caractere muda o hash, inclusive o fim de linha. Um arquivo salvo com finais CRLF, ou uma cópia reorganizada pelo editor, gera um hash diferente do arquivo publicado. Se um hash falhar em produção, compare os bytes, não o texto na tela.
O campo de URL serve apenas para montar a tag que você cola no HTML. A página não baixa a URL: nenhuma requisição sai do navegador enquanto a ferramenta trabalha. Uma URL terminada em .css, com consulta ou fragmento opcionais, gera uma tag <link rel="stylesheet" href="…" integrity="…" crossorigin="anonymous">; qualquer outra gera uma tag <script src="…">.
Só são aceitas URLs http://, https://, //host, /caminho e ./caminho ou ../caminho; aspas, espaços e sinais de menor e maior são recusados, e os valores dos atributos são escapados antes de serem escritos. Com URL inválida a execução para com uma mensagem em vez de copiar uma tag quebrada, e o resultado anterior sai da tela.
Subresource Integrity é uma verificação do navegador: um script ou uma folha de estilo só roda se os bytes corresponderem ao valor de integridade. Os hashes provam integridade, não autenticidade: quem puder alterar o arquivo pode recalcular o hash. Nada aqui verifica se a URL informada entrega esses bytes; o recurso nunca é baixado.
Como a entrada é uma caixa de texto, a ferramenta não calcula o hash de um binário, de um pacote comprimido nem de um arquivo em outra codificação: abra esses no terminal e use o mesmo comando. O campo de URL também não é uma verificação; ele só evita que você escreva a tag à mão.