Cookie Signer Unsigner
Signera och avpublicera HTTP-cookie-värden med HMAC-SHA256 för säker sessionshantering och dataintegritetsverifiering
Inmatning
Utdata
Readme
Vad är cookie-signering?
Cookie-signering är en säkerhetsteknik som lägger till en kryptografisk signatur till cookie-värden, vilket säkerställer deras integritet och äkthet. När en server skickar en cookie till en webbläsare, lägger den till en hash-baserad meddelandeautentiseringskod (HMAC) till cookie-värdet. Denna signatur skapas med hjälp av en hemlig nyckel som endast servern känner till. När webbläsaren skickar tillbaka cookien kan servern verifiera signaturen för att bekräfta att cookien inte har manipulerats.
Hur fungerar HMAC-SHA1-signering?
HMAC (Hash-baserad meddelandeautentiseringskod) kombinerar en kryptografisk hashfunktion med en hemlig nyckel för att producera en unik signatur. För cookie-signering fungerar processen så här:
Signering: Det ursprungliga cookie-värdet kombineras med en hemlig nyckel med hjälp av HMAC-SHA1-algoritmen, vilket producerar en signatur. Det slutliga signerade cookie-formatet är
värde.signatur, där signaturen är base64url-kodad.Verifiering: När en signerad cookie tas emot, extraherar servern det ursprungliga värdet och signaturen, beräknar om den förväntade signaturen med hjälp av samma hemliga nyckel och jämför dem med en tidssäker jämförelse för att förhindra tidskänsliga attacker.
Varför använda signerade cookies?
Osignerade cookies kan lätt ändras av användare eller skadliga skript. En användare skulle kunna ändra sitt session-ID, användarroll eller annan känslig information som lagras i cookies. Signerade cookies förhindrar detta genom att göra alla ändringar detekterbara - om värdet ändras blir signaturen ogiltig.
Verktygets beskrivning
Detta verktyg låter dig signera och avpolletttera cookie-värden med hjälp av HMAC-SHA1-signaturer, kompatibla med det populära cookie-signature-npm-paketformatet. Ange ditt cookie-värde och hemliga nyckel för att generera en signerad cookie, eller klistra in en signerad cookie för att extrahera och verifiera dess ursprungliga värde.
Exempel
Signera en cookie:
| Indata (Osignerad) | Hemlig nyckel | Utdata (Signerad) |
|---|---|---|
user123 |
my-secret-key |
user123.SNk0sCiCAuZ5cwj0lNdJfUgwqU4 |
session_abc |
app-secret |
session_abc.sBzU4FZRe3BfgNWZQB4viGTH37A |
Avpolletttera en cookie:
| Indata (Signerad) | Hemlig nyckel | Utdata (Osignerad) |
|---|---|---|
test.sOx9vuKRxxXdUOK0uLcAQ4CIORo |
password |
test |
Upptäcka ogiltig signatur:
Om du försöker avpolletttera en cookie med fel hemlig nyckel eller ett manipulerat värde, kommer verktyget att visa ett "Ogiltig signatur"-fel.
Funktioner
- Signera cookies med HMAC-SHA1 med valfri hemlig nyckel
- Avpolletttera och verifiera signerade cookies för att extrahera ursprungliga värden
- Tidssäker jämförelse förhindrar tidskänsliga attacker under verifiering
- Kompatibelt format med Node.js
cookie-signature-paketet - Webbläsarbaserad bearbetning med Web Crypto API - inga data skickas till servrar
Användningsområden
- Testa Express.js-sessioner: Verifiera att dina Express-sessionscookies är korrekt signerade och kan avkodas med din hemliga nyckel
- Felsöka autentiseringsproblem: Extrahera det ursprungliga värdet från signerade cookies för att felsöka inloggnings- eller sessionsproblem
- Säkerhetsrevision: Verifiera att cookie-signaturer fungerar korrekt i ditt webbprogram
- Lära sig kryptografi: Förstå hur HMAC-baserad cookie-signering fungerar i praktiken
- Migreringstestning: Säkerställ cookie-kompatibilitet när du ändrar hemliga nycklar eller migrerar mellan ramverk