Assinador e Desassinador de Cookies
Assine e desassine valores de cookies HTTP usando HMAC-SHA256 para gerenciamento de sessão seguro e verificação de integridade de dados
Entrada
Saída
Leia-me
O que é a assinatura de cookies?
A assinatura de cookies é uma técnica de segurança que adiciona uma assinatura criptográfica aos valores dos cookies, garantindo sua integridade e autenticidade. Quando um servidor envia um cookie para um navegador, ele anexa um código de autenticação de mensagem baseado em hash (HMAC) ao valor do cookie. Essa assinatura é criada usando uma chave secreta conhecida apenas pelo servidor. Quando o navegador envia o cookie de volta, o servidor pode verificar a assinatura para confirmar que o cookie não foi adulterado.
Como funciona a assinatura HMAC-SHA1?
O HMAC (Código de Autenticação de Mensagem Baseado em Hash) combina uma função de hash criptográfica com uma chave secreta para produzir uma assinatura única. Para a assinatura de cookies, o processo funciona da seguinte forma:
Assinatura: O valor original do cookie é combinado com uma chave secreta usando o algoritmo HMAC-SHA1, produzindo uma assinatura. O formato final do cookie assinado é
valor.assinatura, onde a assinatura é codificada em base64url.Verificação: Ao receber um cookie assinado, o servidor extrai o valor original e a assinatura, recalcula a assinatura esperada usando a mesma chave secreta e as compara usando uma comparação resistente a ataques de tempo para evitar ataques de tempo.
Por que usar cookies assinados?
Cookies não assinados podem ser facilmente modificados por usuários ou scripts mal-intencionados. Um usuário poderia alterar seu ID de sessão, função de usuário ou outros dados sensíveis armazenados em cookies. Cookies assinados impedem isso, pois qualquer modificação se torna detectável - se o valor mudar, a assinatura se torna inválida.
Descrição da ferramenta
Esta ferramenta permite assinar e desassinar valores de cookies usando assinaturas HMAC-SHA1, compatível com o formato do pacote npm cookie-signature. Digite o valor do seu cookie e a chave secreta para gerar um cookie assinado, ou cole um cookie assinado para extrair e verificar seu valor original.
Exemplos
Assinando um cookie:
| Entrada (Não assinado) | Chave Secreta | Saída (Assinado) |
|---|---|---|
user123 |
minha-chave-secreta |
user123.SNk0sCiCAuZ5cwj0lNdJfUgwqU4 |
session_abc |
segredo-do-app |
session_abc.sBzU4FZRe3BfgNWZQB4viGTH37A |
Desassinando um cookie:
| Entrada (Assinado) | Chave Secreta | Saída (Não assinado) |
|---|---|---|
test.sOx9vuKRxxXdUOK0uLcAQ4CIORo |
senha |
test |
Detecção de assinatura inválida:
Se você tentar desassinar um cookie com a chave secreta errada ou um valor adulterado, a ferramenta exibirá um erro de "Assinatura inválida".
Recursos
- Assinar cookies com HMAC-SHA1 usando qualquer chave secreta
- Desassinar e verificar cookies assinados para extrair os valores originais
- Comparação resistente a ataques de tempo para evitar ataques de tempo durante a verificação
- Formato compatível com o pacote Node.js
cookie-signature - Processamento baseado no navegador usando a Web Crypto API - nenhum dado enviado para servidores
Casos de uso
- Testar sessões do Express.js: Verifique se os cookies de sessão do Express estão devidamente assinados e podem ser decodificados com sua chave secreta
- Depurar problemas de autenticação: Extraia o valor original de cookies assinados para solucionar problemas de login ou sessão
- Auditoria de segurança: Verifique se as assinaturas de cookies estão funcionando corretamente em seu aplicativo web
- Aprendizado de criptografia: Entenda como funciona a assinatura de cookies baseada em HMAC na prática
- Teste de migração: Garanta a compatibilidade de cookies ao alterar chaves secretas ou migrar entre estruturas