Gratis JWT-secretgenerator — HS256/384/512
Genereer een sterk, RFC-correct JWT-secret voor HS256/384/512 — 100% in je browser, nooit naar een server gestuurd. base64url, base64 of hex; kopieer voor .env.
Gelijkwaardige CLI-commando's
Wat is een JWT-secretgenerator?
Een JWT-secretgenerator produceert de willekeurige ondertekeningssleutel die een HMAC-ondertekende JSON Web Token gebruikt om te bewijzen dat er niet mee is geknoeid. Wanneer je een token ondertekent met HS256, HS384 of HS512, draait het algoritme HMAC over de header en payload van het token met één gedeeld secret; de verifieerder herberekent dezelfde HMAC met hetzelfde secret en accepteert het token alleen als de handtekeningen overeenkomen. De hele beveiliging van dat schema rust op het feit dat het secret lang en onvoorspelbaar is — wat precies is wat deze tool maakt: een willekeurige string met hoge entropie, gegenereerd in je browser, correct gedimensioneerd voor het algoritme dat je kiest.
Het is de moeite waard om precies te zijn over wat deze tool wel en niet doet. Hij genereert de geheime sleutel — de waarde die je in je JWT_SECRET-omgevingsvariabele zet — niet een afgewerkt token. Als je een header en payload wilt samenstellen en ondertekenen tot een echte JWT, is dat het werk van de JWT-encoder; om een bestaand token uit elkaar te halen en de handtekening te verifiëren, gebruik je de JWT-decoder. Zie het secret als de sleutel en de encoder als het slot dat hij bedient: je genereert de sleutel eenmaal, bewaart hem veilig, en hergebruikt hem om vele tokens te ondertekenen en te verifiëren.
Hoe lang moet de sleutel zijn? Het antwoord ligt vast in de spec, niet in voorkeur. RFC 7518 §3.2 — de JSON Web Algorithms-standaard — vereist dat een HMAC-sleutel minstens zo groot is als de hash-uitvoer: "Een sleutel van dezelfde grootte als de hash-uitvoer (bijvoorbeeld 256 bits voor HS256) of groter MOET worden gebruikt." Dat geeft een nette tabel die de generator automatisch volgt:
| Algoritme | HMAC | Min bytes | Min bits | hex chars | base64 chars | base64url chars | |-----------|------|-----------|----------|-----------|--------------|-----------------| | HS256 | HMAC-SHA-256 | 32 | 256 | 64 | 44 | 43 | | HS384 | HMAC-SHA-384 | 48 | 384 | 96 | 64 | 64 | | HS512 | HMAC-SHA-512 | 64 | 512 | 128 | 88 | 86 |
De tekenaantallen komen voort uit de RFC 4648-coderingen van die bytelengtes: hex verdubbelt het aantal bytes; base64 breidt uit met 4⁄3 met padding; base64url laat de padding weg, dus een sleutel van 32 bytes is 43 base64url-tekens in plaats van 44. base64url is JWT's eigen codering — URL-veilig alfabet, geen padding — en daarom is het hier de standaarduitvoer; een secret in base64url kan zonder escaping in een header, een URL of een configuratiewaarde staan.
Willekeurigheid is het deel waarop je geen compromis kunt sluiten. Deze generator trekt zijn bytes uit crypto.getRandomValues, de cryptografisch veilige pseudowillekeurige getallengenerator van de browser, dezelfde primitive die Web Crypto-sleutelgeneratie ondersteunt. Hij gebruikt nooit Math.random, dat snel maar voorspelbaar is en volledig ongeschikt voor een ondertekeningssleutel — een voorspelbare RNG betekent een raadbaar secret, en een raadbaar secret betekent vervalsbare tokens. Omdat HMAC-verificatie lokaal gebeurt met het gedeelde secret, kan een aanvaller die een token vastlegt een zwakke sleutel offline brute-forcen zonder ratelimiet; tools zoals hashcat (modus 16500) en jwt_tool bestaan precies daarvoor. Een willekeurige sleutel van 32 bytes met volledige entropie is daarentegen rekenkundig onbereikbaar. De les is bot: gebruik nooit een wachtwoord, een woordenboekwoord of een met de hand getypte string als JWT-secret — genereer een willekeurige.
Tot slot is het client-side genereren van de sleutel zelf een beveiligingseigenschap. Een ondertekeningssecret mag nooit naar een derde partij worden verzonden, zelfs niet naar de site die je helpt het te maken. Elke byte hier wordt in je browser geproduceerd en gecodeerd; niets wordt geüpload, gelogd of opgeslagen. Wanneer je klaar bent om de sleutel uit te leveren, geeft de knop Kopiëren voor .env je een JWT_SECRET=…-regel, en als je hem in een grotere configuratie moet vouwen kan de JSON-naar-.env-converter helpen. Genereer, kopieer, bewaar het in een secrets manager — en roteer het met een kid-header en overlappende geldigheidsvensters wanneer de tijd daar is.
// The secret you generate here goes straight into your signing code.
// Node.js with jsonwebtoken — the JWT_SECRET env var holds the key.
import jwt from 'jsonwebtoken';
const secret = process.env.JWT_SECRET; // e.g. base64url value from this tool
// Sign a token with HS256 (HMAC-SHA-256).
const token = jwt.sign({ sub: 'user-42', role: 'member' }, secret, {
algorithm: 'HS256',
expiresIn: '15m'
});
// Verify it — pin the algorithm to a whitelist; never trust the token's alg.
const payload = jwt.verify(token, secret, { algorithms: ['HS256'] });
// ---------------------------------------------------------------
// Python with PyJWT — same secret, same algorithm pinning.
// import jwt
// token = jwt.encode({"sub": "user-42"}, key, algorithm="HS256")
// payload = jwt.decode(token, key, algorithms=["HS256"]) # whitelist!
// ---------------------------------------------------------------
// Equivalent-strength CLI generation (32 bytes for HS256):
// openssl rand -base64 32
// node -e "console.log(require('crypto').randomBytes(32).toString('base64url'))"
// python -c "import secrets; print(secrets.token_urlsafe(32))" Belangrijkste functies
Algoritmebewuste sleutellengte
Kies HS256, HS384 of HS512 en de generator stelt automatisch de minimale sleutelgrootte volgens RFC 7518 §3.2 in — 32, 48 of 64 bytes. Je kunt een langere sleutel aanvragen, maar je kunt nooit per ongeluk een te kleine leveren die de spec schendt of die een strikte bibliotheek weigert te ondertekenen.
Drie tekstveilige uitvoerformaten
Krijg dezelfde willekeurige bytes als base64url (JWT's eigen, URL-veilige codering zonder padding — de standaard), standaard base64, of hex, naast elkaar getoond. base64url is de veiligste standaard voor een JWT_SECRET; wissel van formaat wanneer een specifieke loader of bibliotheek een ander verwacht. De entropie is identiek over alle drie.
Cryptografisch veilige willekeurigheid
Elk secret wordt getrokken uit crypto.getRandomValues, de CSPRNG van de browser en de primitive achter Web Crypto-sleutelgeneratie. Nooit Math.random. Dat garandeert een sleutel met volledige entropie zonder voorspelbare structuur — de eigenschap die het secret buiten het bereik van offline brute force plaatst.
Kopiëren voor .env met één klik
Kopiëren voor .env verpakt de waarde in de gangbare JWT_SECRET=…-toewijzing, één regel, geen aanhalingstekens — klaar om in een .env-bestand, een Docker-secret of een CI-variabele te plakken zonder de sleutelnaam te typen. Gewoon Kopiëren pakt het ruwe secret wanneer je alleen de waarde nodig hebt.
Gelijkwaardige CLI-commando's
Een paneel toont de bijbehorende openssl rand-, Node crypto.randomBytes- en Python secrets-oneliners voor het gekozen algoritme, zodat je een even sterke sleutel in een provisioningscript of een Dockerfile kunt reproduceren. De meeste concurrerende tools laten dit weg; hier is het ingebouwd.
Tonen / verbergen-maskering
Het secret is standaard gemaskeerd zodat het buiten beeld blijft tijdens een demo, een tutorial of een schermdeling. Onthul het met het oogpictogram alleen wanneer je klaar bent om te kopiëren. Kopieeracties plaatsen altijd het echte secret op het klembord, of het nu zichtbaar of verborgen is.
100% privé, alleen in de browser
Het secret wordt volledig op je apparaat gegenereerd, gecodeerd en weergegeven. Geen netwerkverzoeken, geen logging, geen opslag — controleer het in DevTools → Netwerk. Een ondertekeningssleutel mag nooit een derde partij bereiken, en hier doet hij dat nooit, wat de hele reden is om hem aan de clientzijde te genereren.
Beschikbaar in 15 talen
De volledige interface — labels, instructies en uitleg — is gelokaliseerd in 15 talen, zodat de tool bruikbaar is en het beveiligingsadvies duidelijk is, waar je team ook werkt.
Uitgewerkte voorbeelden
Genereer een HS256-secret in base64url (de standaard)
Algoritme: HS256 · Formaat: base64url
3sJ9aFq2kP7mWcZ1xL0nVtRbYdGhU8eAoI4QpNlKj0
HS256 ondertekent met HMAC-SHA-256, dus RFC 7518 §3.2 vereist een sleutel van minstens 32 bytes (256 bits). De generator trekt 32 cryptografisch veilige willekeurige bytes uit crypto.getRandomValues en codeert ze als base64url — het URL-veilige alfabet zonder padding dat JWT zelf gebruikt. 32 bytes worden een base64url-string van 43 tekens. Plaats de waarde rechtstreeks in JWT_SECRET. Elke klik genereert een nieuw secret; niets is ooit twee keer hetzelfde.
Genereer een HS512-secret (64 bytes / 512 bits)
Algoritme: HS512 · Formaat: base64url
k2Lp9XqA0mNbVcZ7rT4wYsHfGjUe8RoIdPlNkBvM3xQ1aWtCyZuS6FhEgJ (86 chars)
HS512 gebruikt HMAC-SHA-512, waarvan de hash-uitvoer 64 bytes is, dus RFC 7518 §3.2 vereist een sleutel van minstens 64 bytes (512 bits). De tool herkent het algoritme en verhoogt het aantal bytes automatisch — je hoeft het minimum nooit te onthouden. 64 willekeurige bytes coderen naar een base64url-string van 86 tekens, 88 tekens in standaard base64, of 128 hex-tekens. Hier een langer algoritme kiezen is de manier om met één klik een secret met hogere entropie te leveren.
Kopieer het secret als een .env-regel
Klik op "Kopiëren voor .env"
JWT_SECRET=3sJ9aFq2kP7mWcZ1xL0nVtRbYdGhU8eAoI4QpNlKj0
Kopiëren voor .env verpakt de gegenereerde waarde in de gangbare JWT_SECRET=…-toewijzing, zodat je hem rechtstreeks in een .env-bestand, een Docker-secret of een CI-variabele kunt plakken zonder de sleutelnaam te typen. De waarde blijft op één regel zonder omringende aanhalingstekens — precies wat dotenv-achtige loaders verwachten. Moet de variabele in een bredere configuratie worden ingebed? Combineer dit met de hieronder gelinkte JSON-naar-.env-converter.
Reproduceer het secret vanaf een CLI (gelijkwaardige sterkte)
Toon het CLI-commando
openssl rand -base64 32
Het CLI-paneel toont de openssl-, Node- en Python-commando's die hetzelfde aantal veilige willekeurige bytes voor het gekozen algoritme trekken — openssl rand -base64 32 voor HS256, …48 voor HS384, …64 voor HS512. De uitvoer is een even sterk secret, geen byte-voor-byte identieke string: openssl geeft standaard base64 met padding uit, terwijl deze tool standaard base64url gebruikt, dus de alfabetten en eindtekens verschillen. Gebruik wat in je provisioningscript past; de entropie is dezelfde.
Toon en verberg het secret
Klik op het oogpictogram
••••••••••••••••••••••••••••••••••••••••••• ↔ 3sJ9aFq2kP7m…
Het secret is standaard gemaskeerd, zodat het niet over je schouder kan worden meegelezen of door een schermopname tijdens een demo of schermdeling kan worden vastgelegd. Klik op het oogpictogram om het te onthullen wanneer je klaar bent om te kopiëren, en verberg het daarna weer. Kopiëren en Kopiëren voor .env werken of de waarde nu zichtbaar of gemaskeerd is — wat op je klembord belandt is altijd het echte secret, nooit de puntjes.
De JWT-secretgenerator gebruiken
- 1
Kies het ondertekeningsalgoritme
Selecteer HS256, HS384 of HS512. De generator past meteen de minimale sleutellengte volgens RFC 7518 §3.2 voor die HMAC-variant toe — 32, 48 of 64 bytes — zodat je het getal nooit hoeft op te zoeken of een te kleine sleutel riskeert.
- 2
Kies het uitvoerformaat
base64url is de standaard — JWT's eigen URL-veilige codering zonder padding. Schakel naar standaard base64 als een loader het verwacht, of hex wanneer een systeem alleen 0–f-tekens accepteert. Alle drie coderen dezelfde willekeurige bytes met identieke entropie.
- 3
Onthul en kopieer het secret
Het secret is standaard gemaskeerd om het buiten beeld te houden tijdens een demo of schermdeling. Klik op het oogpictogram om het te onthullen, gebruik dan Kopiëren om de ruwe waarde te pakken of Kopiëren voor .env om een JWT_SECRET=…-regel te kopiëren die klaar is voor een .env-bestand of CI-variabele.
- 4
Genereer opnieuw indien nodig
Klik op Opnieuw genereren voor een nieuw, onafhankelijk secret uit crypto.getRandomValues. Genereer er één per omgeving — hergebruik nooit dezelfde ondertekeningssleutel over ontwikkeling, staging en productie.
- 5
Gebruik het CLI-equivalent of ga door naar ondertekenen
Het CLI-paneel toont de bijbehorende openssl-, Node- en Python-oneliners voor scriptmatige provisioning. Met je secret in de hand onderteken je een token met de JWT-encoder en bevestig je de handtekening met de JWT-decoder.
Veelvoorkomende JWT-secret-fouten
Een wachtwoord of korte zin als secret gebruikt
Een door mensen gekozen string heeft veel te weinig entropie voor een ondertekeningssleutel en kan offline worden achterhaald met een woordenboek- of brute-force-aanval, waarna elk token kan worden vervalst. Genereer in plaats daarvan een willekeurig secret met volledige entropie.
JWT_SECRET=mySuperSecret123 → low entropy, brute-forceable
JWT_SECRET=3sJ9aFq2kP7mWcZ1xL0nVtRbYdGhU8eAoI4QpNlKj0 → 32 random bytes
Sleutel korter dan het algoritme vereist
RFC 7518 §3.2 vereist een HMAC-sleutel die minstens zo lang is als de hash-uitvoer. Een sleutel van 16 bytes voor HS256 ligt onder de vloer van 32 bytes — hij verzwakt de handtekening en sommige bibliotheken wijzen hem ronduit af.
16-byte key with HS256 → below the 32-byte minimum
32-byte key with HS256 → meets RFC 7518 §3.2
De sleutel met Math.random gegenereerd
Math.random is niet cryptografisch veilig — de uitvoer is voorspelbaar, dus een secret dat ermee is gebouwd is raadbaar en de tokens die het ondertekent zijn vervalsbaar. Een ondertekeningssleutel moet uit een CSPRNG zoals crypto.getRandomValues komen.
Math.random()-based key → predictable, unsafe
crypto.getRandomValues key → full entropy
Het secret hercodeerd vóór het ondertekenen
Bewaar en voer de exacte string in die de tool produceerde. Het base64-decoderen tot bytes in de ene service maar als letterlijke string behandelen in de andere geeft de twee kanten verschillende sleutels, en elke handtekeningcontrole faalt.
Service A: raw string · Service B: base64-decoded → signatures never match
Both services use the identical stored string → signatures verify
Hetzelfde secret over alle omgevingen hergebruikt
Eén JWT_SECRET gedeeld door dev, staging en productie betekent dat een lek ergens overal tokens vervalst en rotatie alles-of-niets wordt. Lever een apart secret per omgeving.
Same JWT_SECRET in dev, staging, prod → one leak breaks all
A unique secret per environment → blast radius contained
Het alg van het token vertrouwd bij verificatie
De verifieerder laten accepteren welk algoritme het token ook declareert, maakt alg:none- en HS/RS-confusion-vervalsingen mogelijk. Geef een expliciete algoritme-whitelist mee, hoe sterk het secret ook is.
jwt.verify(token, secret) → accepts the token's alg
jwt.verify(token, secret, { algorithms: ['HS256'] }) → pinned Wie gebruikt deze tool
- Een JWT_SECRET voor een nieuwe service leveren
- Een API opzetten die HMAC-ondertekende tokens uitgeeft? Kies het algoritme dat je bibliotheek gebruikt, kopieer het secret als een JWT_SECRET=…-regel, en plaats het in de omgeving van de service. Genereer een aparte sleutel voor ontwikkeling, staging en productie — deel nooit één secret over omgevingen.
- Een gecompromitteerd of verouderd secret roteren
- Wanneer een sleutel vermoedelijk is gelekt of simpelweg toe is aan rotatie, genereer je hier een nieuw secret, ken je het een nieuwe kid toe, en rol je het uit met een overlapvenster zodat live tokens blijven verifiëren tot ze verlopen. Bij een bevestigde compromittering roteer je meteen en verwijder je de oude sleutel uit de geaccepteerde set.
- Een zwakke of met de hand getypte sleutel vervangen
- Een codebase geërfd waarvan de JWT_SECRET een korte zin of een gekopieerde voorbeeldwaarde is? Die sleutel is offline brute-forcebaar. Genereer een vervanging van 32 bytes met volledige entropie, wissel hem in achter een rotatievenster, en sluit het gat voor tokenvervalsing voordat het wordt uitgebuit.
- Sleutelgeneratie scripten in een pipeline
- Moet de sleutel in CI of een Dockerfile worden gemaakt in plaats van met de hand? Gebruik de openssl-, Node- of Python-oneliner uit het CLI-paneel om een even sterk secret in je provisioningscript aan te maken, en gebruik deze pagina om de bytelengtes en coderingen te begrijpen die elk commando produceert.
- JWT-ondertekening veilig onderwijzen
- Loop een team door hoe HS256 werkt zonder ooit een echte productiesleutel bloot te stellen — genereer een wegwerpsecret op het scherm (gemaskeerd tot je het onthult), onderteken een voorbeeldtoken met de JWT-encoder, en verifieer het met de JWT-decoder zodat de hele onderteken-en-verifieer-lus zichtbaar is.
- HS256-, HS384- en HS512-sleutelgroottes vergelijken
- Beslissen op welke HMAC-variant je standaardiseert? Wissel tussen de algoritmen om te zien hoe de vereiste sleutellengte en gecodeerde string groeien — 43, 64 en 86 base64url-tekens — en kies de afweging tussen sterkte en tokengrootte die bij je systeem past voordat je hem in de configuratie vastlegt.
- Sleutels genereren voor lokale ontwikkeling
- Een snel, geldig secret nodig om een lokale auth-flow draaiende te krijgen? Genereer er een met een klik, kopieer het voor .env, en je bent gedeblokkeerd — met een echte CSPRNG-sleutel in plaats van een placeholder die je voor de deploy vergeet te vervangen.
Hoe de generator werkt
- crypto.getRandomValues (CSPRNG)
- Secrets worden gegenereerd door een Uint8Array te vullen met crypto.getRandomValues, de cryptografisch veilige pseudowillekeurige getallengenerator van Web Crypto. Het is dezelfde entropiebron die Web Crypto-sleutelgeneratie ondersteunt. Math.random wordt nergens gebruikt — het is statistisch voorspelbaar en ongeschikt voor elke cryptografische sleutel.
- RFC 7518 §3.2-sleuteldimensionering
- Het aantal bytes per algoritme volgt de JSON Web Algorithms-eis dat een HMAC-sleutel minstens zo groot is als de hash-uitvoer: 32 bytes voor HS256 (SHA-256), 48 voor HS384 (SHA-384), 64 voor HS512 (SHA-512). Het selecteren van het algoritme stelt het minimum in; de generator geeft geen sleutel onder de specvloer uit.
- RFC 4648-coderingen (base64url / base64 / hex)
- De ruwe bytes worden gecodeerd met de RFC 4648-alfabetten. base64url gebruikt het URL-veilige alfabet zonder padding (32 bytes → 43 tekens), standaard base64 gebruikt +, / en =-padding (→ 44 tekens), en hex schrijft twee tekens per byte (→ 64 tekens). Van formaat wisselen hercodeert dezelfde bytes — de onderliggende entropie blijft onveranderd.
- Waarom base64url de standaard is
- JWT-componenten zijn zelf base64url-gecodeerd, en het URL-veilige alfabet zonder padding betekent dat een secret in base64url nooit hoeft te worden ge-escaped in een header, een URL of een configuratiebestand. De + en / en de eind-= van standaard base64 kunnen in die contexten breken, dus base64url is de behoudende standaard voor een JWT_SECRET.
- Opmaak van Kopiëren voor .env
- Kopiëren voor .env geeft JWT_SECRET=
uit op één regel zonder omringende aanhalingstekens — de vorm die dotenv-achtige loaders zonder aanpassing parsen. Het ruwe secret bevat nooit tekens die in een .env-bestand aanhalingstekens zouden vereisen, dus de regel is veilig om as-is te plakken. - Gelijkwaardig sterke CLI-commando's, niet byte-identiek
- De openssl rand -base64 N-, Node randomBytes(N).toString('base64url')- en Python secrets.token_urlsafe(N)-commando's uit het CLI-paneel trekken alle N veilige willekeurige bytes voor het gekozen algoritme. Ze produceren even sterke sleutels, niet dezelfde string — openssl geeft gepadde standaard base64 uit, dus het alfabet en de eindtekens verschillen van de base64url-standaard van deze tool.
Best practices voor JWT-secrets
- Stem de sleutellengte af op het algoritme
- Gebruik minstens 32 bytes voor HS256, 48 voor HS384 en 64 voor HS512, zoals RFC 7518 §3.2 vereist. Deze generator doet het voor je, maar als je een sleutel met de hand dimensioneert, ga dan nooit onder de hash-uitvoerlengte — een te kleine HMAC-sleutel verzwakt de handtekening en kan door strikte bibliotheken worden afgewezen.
- Genereer altijd met een CSPRNG, nooit een wachtwoord
- Een JWT-secret is een machine-inloggegeven dat niemand hoeft te onthouden, dus besteed de volledige entropie: gebruik een cryptografisch veilige willekeurige sleutel, geen wachtwoordzin, woordenboekwoord of met de hand getypte string. Door mensen gekozen secrets zijn het makkelijkste doelwit voor de offline brute-force-aanvallen die JWT-kraaktools automatiseren.
- Gebruik een uniek secret per omgeving
- Ontwikkeling, staging en productie zouden elk hun eigen JWT_SECRET moeten hebben. Eén sleutel delen betekent dat een lek in een omgeving met lage inzet overal tokens vervalst, en het maakt rotatie alles-of-niets. Genereer hier een apart secret voor elke omgeving en bewaar elk in zijn eigen secrets-manager-scope.
- Pin het algoritme wanneer je verifieert
- Geef aan de verifiërende kant altijd een expliciete algoritme-whitelist mee — algorithms: ['HS256'] in jsonwebtoken, algorithms=["HS256"] in PyJWT — en vertrouw nooit het alg-veld in het token. Het zelf-gedeclareerde algoritme van het token accepteren maakt de klassieke alg-confusion- en alg:none-vervalsingsaanvallen mogelijk, hoe sterk je secret ook is.
- Roteer met een kid-header en overlappende sleutels
- Voorzie ondertekende tokens van een sleutel-identificator (kid) en publiceer actieve sleutels via een JWKS-endpoint, zodat je zonder downtime kunt roteren: onderteken nieuwe tokens met de nieuwe sleutel terwijl je de oude nog accepteert tot zijn tokens verlopen. Bij een vermoede compromittering sla je de overlap over en trek je de oude sleutel meteen in.
Veelgestelde vragen
Wordt mijn gegenereerde JWT-secret naar jullie server gestuurd?
Hoe genereer ik een veilig JWT-secret?
Hoe lang moet een HS256 JWT-secret zijn?
Wat is het verschil tussen base64url, base64 en hex, en welke moet ik kiezen?
Kan een zwak JWT-secret worden gekraakt?
Kan ik een wachtwoord als mijn JWT-secret gebruiken?
Hoe roteer ik een JWT-secret zonder live tokens te breken?
Hoe verschilt een HMAC-sleutel (HS*) van een RSA- of ECDSA-sleutel (RS*/ES*)?
Gerelateerde tools
Alle tools bekijken →Bcrypt-hashgenerator & -verifier
Beveiligingstools
Genereer en verifieer bcrypt-wachtwoordhashes online — instelbare kostenfactor, $2b$/$2a$/$2y$-prefixes. 100% in je browser; je wachtwoord wordt nooit geüpload.
JWT decoderen — online JWT-decoder
Beveiligingstools
Decodeer JWT-tokens direct in je browser. Inspecteer header, payload, signature, vervaldatum en claims. 100% privé — je token verlaat je apparaat nooit.
JWT-encoder & generator
Beveiligingstools
Gratis online JWT-generator & encoder. Bouw de header en payload en onderteken direct met HS256, RS256 of ES256. 100% in de browser — je secret en sleutel verlaten je apparaat nooit.
Online MD5 Hash Generator & Checksum Tool
Beveiligingstools
Genereer MD5-, SHA-256-, SHA-1- en SHA-512-hashes gratis in je browser. Hash tekst of bestanden, verifieer checksums en kopieer resultaten. Geen account nodig.
Willekeurig wachtwoord genereren — online generator
Beveiligingstools
Genereer direct sterke willekeurige wachtwoorden — gratis, 100% in je browser. Stel lengte en tekens in, batch tot 50 met entropie-analyse.
SHA-1 Hash Generator (160-bit, verouderd)
Beveiligingstools
Genereer SHA-1 hashes in je browser — 40-tekens hex output, geen upload. Verouderd algoritme voor Git-vingerafdrukken, oude certificaatcontroles en migratieaudits. Je data verlaat je apparaat niet.