logo
GeekFormat

AES versleutelen en ontsleutelen

Please read before use

This tool runs entirely in your browser. No plaintext, ciphertext, or key is sent to a server.

It is intended for development, debugging, learning and self-managed scenarios. Do not use this page as the only protection for production secrets, customer data, or anything that requires auditing.

For real applications: use audited libraries (libsodium, OpenSSL, AWS Encryption SDK), a real KDF (Argon2id ≥ 1 iteration / 64 MiB), AEAD modes only, and manage keys on the server with proper access control.

Algoritme-modus
Sleutellengte
Cijfertekst-formaat (uitvoer versleuteling / invoer ontsleuteling)
Key source
Plaintekst

UTF-8-tekst

Mode comparison — GCM vs CBC vs CTR
ModeAuthenticationIV requirementPerformanceRecommended use
AES-GCMYes (AEAD, 128-bit tag)12 bytes (recommended); never reuse with same keyFast, hardware-acceleratedDefault — modern API, file encryption, anything authenticated
AES-CBCNo — must add HMAC/MAC16 bytes; unpredictable (CSPRNG) and never reuseFast, hardware-acceleratedLegacy TLS, disk encryption (XTS-AES), never use raw for new designs
AES-CTRNo — must add HMAC/MAC16 bytes; never reuse with same key (catastrophic if reused)Fastest, parallelizableRandom-access streams, disk encryption, but combine with MAC

Reading the table

  • AES-GCM is the only AEAD among the three — it both encrypts and authenticates in one step. If you don't know which to choose, choose GCM.
  • CBC and CTR only provide confidentiality. They need a separate MAC (HMAC-SHA256, compute-then-MAC) or they are vulnerable to chosen-ciphertext and bit-flipping attacks.
  • Both IV and nonce must be unique per (key, message). GCM with a reused IV leaks the authentication key — treat as catastrophic.

Notities over modi en formaten

  • Browser-SubtleCrypto biedt voor AES alleen GCM, CBC en CTR — niet ECB, CFB of OFB (om zwak gebruik te voorkomen). Voor andere modi gebruik je OpenSSL of een serverbibliotheek.
  • Cijfertekst-formaat naar keuze: Hex / Base64 / Base64URL, compatibel met CyberChef, API's, JWT enz. Beide zijden (versleuteling en ontsleuteling) moeten hetzelfde formaat gebruiken.
  • Onder AES-GCM is de uitvoer een doorlopende byte-stroom van «cijfertekst + authenticatielabel»; de tool codeert het hele blok in het gekozen formaat — plak het hele blok bij ontsleuteling.

Notities

  • Web Crypto draait volledig in de browser; GCM is geverifieerde versleuteling, geschikt voor standaardscenario's.
  • Bij versleuteling kan IV leeg blijven — de tool genereert een willekeurige IV en vult deze hierboven in, voor hergebruik bij ontsleuteling.
  • Bij ontsleuteling IV leeg laten = nulvector proberen (alleen geldig als de andere partij dezelfde conventie gebruikt).

Gratis online tool voor AES versleutelen en ontsleutelen met AES-CBC, AES-GCM en AES-CTR. Ondersteunt AES-128/192/256-sleutels, ciphertext-formaten Hex/Base64/Base64URL, PBKDF2-SHA256-sleutelafleiding op basis van wachtwoorden, willekeurige IV/salt-generatie en Web Crypto-verwerking volledig in de browser.

Gerelateerde aanbevelingen

Toepassingsgevallen

  • Een kort tekstfragment met AES-GCM versleutelen voordat je het via een gecontroleerd kanaal deelt
  • API-payloads ontsleutelen tijdens frontend-backend-integratie wanneer je IV, sleutel, modus en uitvoerformaat moet vergelijken
  • Testen of een backend ciphertext als Hex, Base64 of Base64URL teruggeeft en hetzelfde formaat in de browser reproduceren
  • Met PBKDF2 afgeleide AES-sleutels uit wachtwoorden genereren om salt, iteratieaantal en afgeleide sleutellengte te begrijpen
  • AES-CBC-, AES-GCM- en AES-CTR-uitvoer naast elkaar vergelijken terwijl je leert hoe symmetrische versleutelingsmodi verschillen
  • Deterministische testvectors maken door sleutel, IV, salt, plaintext, modus, sleutellengte en uitvoercodering vast te zetten

Functies

  • Drie versleutelingsmodi: AES-CBC, geauthenticeerde versleuteling met AES-GCM en AES-CTR voor gangbare versleutelingsscenario's
  • Drie sleutellengtes: AES-128, AES-192 en AES-256, met AES-256 als sterkste standaardkeuze
  • Wachtwoordgebaseerde versleuteling: leid AES-sleutels af met PBKDF2-SHA256 en 100.000 iteraties in plaats van zwakke ruwe wachtwoorden direct te gebruiken
  • Realtime wachtwoordsterktecontrole: lengte, hoofdletters, kleine letters, cijfers, symbolen en bekende wachtwoorden helpen gebruikers veiligere wachtwoorden te kiezen
  • Willekeurige IV- en salt-generatie: één klik maakt cryptografisch willekeurige IV/salt-waarden en schrijft ze terug naar de interface voor herhaalbare ontsleuteling
  • Meerdere ciphertext-formaten: Hex, Base64 en Base64URL voor API-debugging, JWT-achtig transport, configuratiebestanden en command-line-interoperabiliteit
  • Afhandeling van GCM-authenticatietag: de tool verpakt ciphertext + auth tag en meldt verificatiefouten wanneer ciphertext, sleutel, IV of salt niet overeenkomen
  • Web Crypto alleen in de browser: versleuteling en ontsleuteling draaien lokaal; plaintext, ciphertext, wachtwoorden en sleutels worden nooit geüpload
  • Vergelijkingshulp voor modi: ingebouwde notities leggen uit wanneer je GCM, CBC of CTR kiest en waarom hergebruik van IV/nonce gevaarlijk is
  • Kopieerflow voor ontwikkelaars: gegenereerde sleutels, IVs, salts, ciphertext en plaintext kunnen worden gekopieerd voor API-tests en troubleshooting

Hoe te gebruiken

  1. Kies versleutelen of ontsleutelen, selecteer daarna AES-GCM, AES-CBC of AES-CTR en de sleutellengte die je nodig hebt
  2. Gebruik een Hex-sleutel of een wachtwoord. Voer in wachtwoordmodus een sterk wachtwoord in en laat PBKDF2 de AES-sleutel afleiden
  3. Kies het ciphertext-formaat: Hex, Base64 of Base64URL. Houd hetzelfde formaat aan bij zowel versleutelen als ontsleutelen
  4. Laat bij versleuteling IV/salt leeg om veilige willekeurige waarden te genereren; plak bij ontsleuteling dezelfde IV/salt of gebruik de header die door wachtwoordmodus is ingebed
  5. Kopieer de uitvoer als ciphertext of plaintext en bewaar modus, sleutellengte, IV, salt en formaat samen voor reproduceerbare ontsleuteling

Veelgestelde vragen

Wat is het verschil tussen AES-CBC, AES-GCM en AES-CTR?

CBC is een klassieke blokmodus die een IV nodig heeft en voor integriteit een aparte MAC vereist. GCM is geauthenticeerde versleuteling (AEAD) en kan manipulatie detecteren, waardoor het voor moderne API's meestal de aanbevolen standaardkeuze is. CTR maakt van AES een streamachtige modus die snel en goed paralleliseerbaar is, maar ook een aparte MAC nodig heeft. Kies bij twijfel GCM.

Wat is PBKDF2-sleutelafleiding en waarom is die nodig?

PBKDF2 zet een menselijk wachtwoord om in een sterkere versleutelingssleutel. Deze tool gebruikt PBKDF2-SHA256 met 100.000 iteraties en een willekeurige salt voor elke versleuteling. Vergeleken met het direct gebruiken van een wachtwoord als sleutel maakt PBKDF2 brute-force-aanvallen duurder en voorkomt het dat identieke wachtwoorden identieke afgeleide sleutels opleveren.

Wat is het verschil tussen Hex-sleutelmodus en wachtwoordmodus?

De Hex-sleutelmodus gebruikt een ruwe hexadecimale sleutel van 32/48/64 tekens en is handig wanneer je een backend-API of vaste testvector moet matchen. De wachtwoordmodus accepteert een onthoudbaar wachtwoord en leidt met PBKDF2 de AES-sleutel af, waarbij salt-informatie wordt ingebed of meegegeven zodat de ciphertext later met hetzelfde wachtwoord kan worden ontsleuteld.

Wat meet de wachtwoordsterktecontrole?

De tool controleert wachtwoordlengte, hoofdletters, kleine letters, cijfers, symbolen en bekende patronen van zwakke wachtwoorden. Je krijgt een indicatie van zwak, redelijk, goed of sterk, zodat je korte of voorspelbare wachtwoorden kunt vermijden. Gebruik voor gevoelige data een lang willekeurig wachtwoord uit een wachtwoordmanager.

Waarom mislukt AES-GCM-ontsleuteling?

AES-GCM verifieert een authentication tag. Een fout betekent meestal dat de sleutel of het wachtwoord verkeerd is, dat IV of salt niet overeenkomt, dat de ciphertext is aangepast, dat het uitvoerformaat verkeerd is gedecodeerd of dat een andere AES-modus of sleutellengte is gekozen. Alle parameters van de versleuteling moeten bij ontsleuteling exact overeenkomen.

Is deze online AES-tool veilig?

De cryptografische bewerkingen draaien met de Web Crypto API in de browser, en de pagina uploadt geen plaintext, ciphertext, wachtwoorden of sleutels. De tool is geschikt voor ontwikkeling, API-debugging en leren. Gebruik voor zeer gevoelige productiedata gecontroleerde lokale of server-side tooling met degelijk sleutelbeheer.

Welke AES-sleutellengtes worden ondersteund?

De tool ondersteunt AES-128 (sleutel van 16 bytes), AES-192 (sleutel van 24 bytes) en AES-256 (sleutel van 32 bytes). AES-256 is de sterkste en een goede standaardkeuze; AES-128 blijft veilig en kan sneller zijn; AES-192 wordt vooral gebruikt voor specifieke compliance- of interoperabiliteitseisen.

Wat is het verschil tussen Hex-, Base64- en Base64URL-uitvoer?

Hex is makkelijk te lezen en te debuggen, maar groter. Base64 is compacter en veelgebruikt in JSON- en configuratiebestanden. Base64URL vervangt tekens die onhandig zijn in URLs en verwijdert padding, waardoor het geschikt is voor URL-parameters, JWT-achtige velden en webtransport.

Hoe ontsleutel ik ciphertext die met deze tool is gemaakt?

In wachtwoordmodus worden salt en IV opgenomen in de header van de gecodeerde uitvoer, en de tool kan die tijdens het ontsleutelen uitlezen. In Hex-sleutelmodus moet je de sleutel, IV, modus, sleutellengte en het uitvoerformaat uit de versleutelingsstap bewaren en dezelfde waarden invullen bij het ontsleutelen.

Kan ik deze tool gebruiken om AES-versleuteling te leren?

Ja. Je kunt wisselen tussen GCM, CBC en CTR, uitvoerformaten vergelijken, zien hoe IV en salt het resultaat beïnvloeden en bekijken hoe PBKDF2 sleutels uit wachtwoorden afleidt. Het is een praktische manier om AES-gedrag te begrijpen voordat je het in applicatiecode implementeert.

Wat is AES versleutelen en ontsleutelen?

AES (Advanced Encryption Standard) is de moderne symmetrische blokcipher die browsers, TLS-stacks, databases, cloudservices, mobiele apps en besturingssystemen gebruiken om data te beschermen met dezelfde geheime sleutel voor versleuteling en ontsleuteling. Een correcte AES-configuratie wordt niet alleen bepaald door de sleutel, maar ook door modus, IV/nonce, padding- of taggedrag en uitvoercodering.

AES-GCM is de aanbevolen standaard voor nieuwe ontwerpen omdat het AEAD is: het versleutelt data en authenticeert die tegelijk. Dat betekent dat ontsleuteling mislukt als ciphertext, sleutel, IV, salt of authentication tag is gewijzigd. CBC en CTR bieden alleen vertrouwelijkheid en moeten in productieprotocollen worden gecombineerd met een aparte MAC zoals HMAC-SHA256.

Wachtwoordgebaseerde versleuteling heeft een sleutelafleidingsfunctie nodig. Menselijke wachtwoorden zijn zelden willekeurig genoeg om direct AES-sleutels te zijn; daarom gebruikt deze tool PBKDF2-SHA256 met 100.000 iteraties en een willekeurige salt om de echte AES-sleutel af te leiden. De salt voorkomt dat identieke wachtwoorden identieke afgeleide sleutels opleveren en verhoogt de kosten van brute-force-aanvallen.

De omgang met IV en nonce is kritiek. GCM gebruikt normaal gesproken een IV van 12 bytes en dezelfde IV mag nooit opnieuw met dezelfde sleutel worden gebruikt. CBC gebruikt een onvoorspelbare IV van 16 bytes. CTR gebruikt een counter/nonce-constructie en hergebruik kan rampzalig zijn. Deze tool genereert tijdens versleuteling automatisch veilige IV-waarden en toont ze, zodat ontsleuteling dezelfde parameters kan reproduceren.

Deze pagina is bedoeld voor ontwikkeling, debugging, onderwijs en zelfbeheerde versleutelingstests. Gebruik voor productiegeheimen, gereguleerde data en klantgegevens gecontroleerde cryptografische bibliotheken, server-side sleutelbeheer, toegangscontrole, auditlogs en waar passend een moderne KDF zoals Argon2id.