logo
GeekFormat

Szyfrowanie i deszyfrowanie AES

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.

Tryb algorytmu
Długość klucza
Format szyfrogramu (wyjście szyfrowania / wejście deszyfrowania)
Key source
Tekst jawny

Tekst UTF-8

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.

Uwagi dotyczące trybów i formatów

  • SubtleCrypto przeglądarki oferuje dla AES tylko GCM, CBC i CTR — nie ECB, CFB ani OFB (aby uniknąć słabego użycia). Dla innych trybów użyj OpenSSL lub biblioteki serwerowej.
  • Format szyfrogramu do wyboru: Hex / Base64 / Base64URL, zgodny z CyberChef, API, JWT itp. Obie strony (szyfrowanie i deszyfrowanie) muszą używać tego samego formatu.
  • W AES-GCM wyjście to ciągły strumień bajtów «szyfrogram + znacznik uwierzytelniania»; narzędzie koduje cały blok w wybranym formacie — wklej cały blok przy deszyfrowaniu.

Uwagi

  • Web Crypto działa całkowicie w przeglądarce; GCM to szyfrowanie uwierzytelnione, odpowiednie dla domyślnych scenariuszy.
  • Przy szyfrowaniu pozostaw IV puste — narzędzie wygeneruje losowy IV i wypełni go powyżej, do ponownego użycia przy deszyfrowaniu.
  • Przy deszyfrowaniu pozostaw IV puste, aby spróbować wektora zerowego (ważne tylko, gdy druga strona używa tej samej konwencji).

Darmowe narzędzie online do szyfrowania i deszyfrowania AES w trybach AES-CBC, AES-GCM i AES-CTR. Obsługuje klucze AES-128/192/256, formaty ciphertext Hex/Base64/Base64URL, wyprowadzanie klucza z hasła przez PBKDF2-SHA256, losowe generowanie IV/salt oraz przetwarzanie Web Crypto wyłącznie w przeglądarce.

Powiązane Rekomendacje

Przypadki użycia

  • Zaszyfrowanie krótkiego fragmentu tekstu przez AES-GCM przed udostępnieniem go kontrolowanym kanałem
  • Deszyfrowanie payloadów API podczas integracji frontend-backend, gdy trzeba porównać IV, klucz, tryb i format wyjściowy
  • Sprawdzenie, czy backend zwraca ciphertext w Hex, Base64 lub Base64URL, i odtworzenie tego samego formatu w przeglądarce
  • Generowanie kluczy AES wyprowadzonych przez PBKDF2 z haseł, aby zrozumieć salt, liczbę iteracji i zachowanie rozmiaru klucza pochodnego
  • Porównywanie wyników AES-CBC, AES-GCM i AES-CTR obok siebie podczas nauki różnic między trybami szyfrowania symetrycznego
  • Tworzenie deterministycznych test vectors przez ustawienie klucza, IV, salt, plaintext, trybu, rozmiaru klucza i kodowania wyjścia

Funkcje

  • Trzy tryby szyfrowania: AES-CBC, uwierzytelnione szyfrowanie AES-GCM oraz AES-CTR dla najczęstszych scenariuszy szyfrowania
  • Trzy rozmiary klucza: AES-128, AES-192 i AES-256, przy czym AES-256 jest najmocniejszym wyborem domyślnym
  • Szyfrowanie oparte na haśle: wyprowadzaj klucze AES przez PBKDF2-SHA256 i 100 000 iteracji zamiast używać słabych surowych haseł bezpośrednio
  • Sprawdzanie siły hasła w czasie rzeczywistym: długość, wielkie litery, małe litery, cyfry, symbole i typowe hasła pomagają wybrać bezpieczniejsze hasło
  • Losowe generowanie IV i salt: jedno kliknięcie tworzy kryptograficznie losowe wartości IV/salt i wpisuje je w interfejs, aby deszyfrowanie było powtarzalne
  • Wiele formatów ciphertext: Hex, Base64 i Base64URL do debugowania API, transportu w stylu JWT, plików konfiguracyjnych i zgodności z linią poleceń
  • Obsługa tagu uwierzytelniającego GCM: narzędzie pakuje ciphertext + auth tag i zgłasza błędy weryfikacji, gdy ciphertext, klucz, IV lub salt nie pasują
  • Web Crypto tylko w przeglądarce: szyfrowanie i deszyfrowanie odbywa się lokalnie; plaintext, ciphertext, hasła i klucze nigdy nie są przesyłane
  • Pomoc w porównaniu trybów: wbudowane notatki wyjaśniają, kiedy wybrać GCM, CBC lub CTR oraz dlaczego ponowne użycie IV/nonce jest niebezpieczne
  • Przyjazny workflow kopiowania dla developerów: wygenerowane klucze, IV, salts, ciphertext i plaintext można kopiować do testów API i rozwiązywania problemów

Jak Używać

  1. Wybierz tryb szyfrowania lub deszyfrowania, następnie AES-GCM, AES-CBC albo AES-CTR oraz potrzebny rozmiar klucza
  2. Użyj klucza Hex albo hasła. W trybie hasła wpisz mocne hasło i pozwól PBKDF2 wyprowadzić klucz AES
  3. Wybierz format ciphertext: Hex, Base64 albo Base64URL. Zachowaj ten sam format po stronie szyfrowania i deszyfrowania
  4. Przy szyfrowaniu zostaw IV/salt puste, aby wygenerować bezpieczne wartości losowe; przy deszyfrowaniu wklej ten sam IV/salt albo użyj nagłówka osadzonego przez tryb hasła
  5. Skopiuj wynikowy ciphertext lub plaintext i przechowuj razem tryb, rozmiar klucza, IV, salt i format, aby deszyfrowanie było odtwarzalne

Często Zadawane Pytania

Czym różnią się AES-CBC, AES-GCM i AES-CTR?

CBC to klasyczny tryb blokowy, który wymaga IV oraz osobnego MAC do zapewnienia integralności. GCM to szyfrowanie uwierzytelnione (AEAD), które potrafi wykryć manipulację danymi, dlatego jest zwykle zalecanym wyborem dla nowoczesnych API. CTR zmienia AES w tryb podobny do strumieniowego, szybki i łatwy do zrównoleglenia, ale również wymaga osobnego MAC. Jeśli nie masz pewności, wybierz GCM.

Czym jest wyprowadzanie klucza PBKDF2 i dlaczego jest potrzebne?

PBKDF2 zamienia hasło wpisywane przez człowieka w mocniejszy klucz szyfrujący. To narzędzie używa PBKDF2-SHA256 ze 100 000 iteracji oraz losowym salt dla każdego szyfrowania. W porównaniu z użyciem hasła bezpośrednio jako klucza PBKDF2 podnosi koszt ataków brute force i zapobiega temu, aby identyczne hasła dawały identyczne klucze pochodne.

Jaka jest różnica między trybem klucza Hex a trybem hasła?

Tryb klucza Hex używa surowego klucza szesnastkowego o długości 32/48/64 znaków i przydaje się, gdy trzeba dopasować backendowe API albo stały wektor testowy. Tryb hasła przyjmuje łatwe do zapamiętania hasło i wyprowadza z niego klucz AES za pomocą PBKDF2, przenosząc informacje o salt, aby ciphertext dało się później odszyfrować tym samym hasłem.

Co mierzy sprawdzanie siły hasła?

Narzędzie sprawdza długość hasła, wielkie i małe litery, cyfry, symbole oraz typowe wzorce słabych haseł. Pokazuje ocenę od słabej do mocnej, aby pomóc unikać krótkich lub przewidywalnych haseł. Dla wrażliwych danych używaj długiego, losowego hasła wygenerowanego przez menedżer haseł.

Dlaczego deszyfrowanie AES-GCM się nie udaje?

AES-GCM weryfikuje tag uwierzytelniający. Błąd zwykle oznacza, że klucz lub hasło są nieprawidłowe, IV albo salt się nie zgadza, ciphertext został zmieniony, format wyjściowy został źle zdekodowany albo wybrano inny tryb AES lub rozmiar klucza. Wszystkie parametry z szyfrowania muszą dokładnie zgadzać się przy deszyfrowaniu.

Czy to narzędzie online do AES jest bezpieczne?

Operacje kryptograficzne działają w przeglądarce przy użyciu Web Crypto API, a strona nie przesyła plaintext, ciphertext, haseł ani kluczy. Narzędzie nadaje się do developmentu, debugowania API i nauki. Dla bardzo wrażliwych danych produkcyjnych używaj audytowanych narzędzi lokalnych lub serwerowych z właściwym zarządzaniem kluczami.

Jakie długości kluczy AES są obsługiwane?

Narzędzie obsługuje AES-128 (klucz 16-bajtowy), AES-192 (klucz 24-bajtowy) i AES-256 (klucz 32-bajtowy). AES-256 jest najmocniejszą i wygodną opcją domyślną; AES-128 nadal jest bezpieczny i może być szybszy; AES-192 jest używany głównie przy konkretnych wymaganiach zgodności lub interoperacyjności.

Czym różnią się formaty wyjścia Hex, Base64 i Base64URL?

Hex jest łatwy do czytania i debugowania, ale zajmuje więcej miejsca. Base64 jest bardziej kompaktowy i często spotykany w JSON oraz plikach konfiguracyjnych. Base64URL zastępuje znaki niewygodne w adresach URL i usuwa padding, dlatego dobrze pasuje do parametrów URL, pól w stylu JWT i transportu webowego.

Jak odszyfrować ciphertext wygenerowany tym narzędziem?

W trybie hasła salt i IV są zawarte w nagłówku zakodowanego wyniku, a narzędzie może je odczytać podczas deszyfrowania. W trybie klucza Hex zachowaj klucz, IV, tryb, rozmiar klucza i format wyjściowy z kroku szyfrowania, a przy deszyfrowaniu wpisz te same wartości.

Czy mogę używać tego narzędzia do nauki szyfrowania AES?

Tak. Możesz przełączać się między GCM, CBC i CTR, porównywać formaty wyjściowe, sprawdzać wpływ IV i salt na wynik oraz obserwować, jak PBKDF2 wyprowadza klucze z haseł. To praktyczny sposób na zrozumienie działania AES przed implementacją w kodzie aplikacji.

Czym jest szyfrowanie i deszyfrowanie AES?

AES (Advanced Encryption Standard) to nowoczesny symetryczny szyfr blokowy używany przez przeglądarki, stosy TLS, bazy danych, usługi chmurowe, aplikacje mobilne i systemy operacyjne do ochrony danych tym samym tajnym kluczem przy szyfrowaniu i deszyfrowaniu. Poprawna konfiguracja AES zależy nie tylko od klucza, ale też od trybu, IV/nonce, zachowania paddingu lub tagu oraz kodowania wyjścia.

AES-GCM jest zalecanym wyborem domyślnym dla nowych projektów, ponieważ jest AEAD: jednocześnie szyfruje dane i je uwierzytelnia. Oznacza to, że deszyfrowanie zakończy się błędem, jeśli zmieni się ciphertext, klucz, IV, salt albo tag uwierzytelniający. CBC i CTR zapewniają tylko poufność i w protokołach produkcyjnych powinny być łączone z osobnym MAC, takim jak HMAC-SHA256.

Szyfrowanie oparte na haśle wymaga funkcji wyprowadzania klucza. Hasła tworzone przez ludzi rzadko są wystarczająco losowe, aby same były kluczami AES, dlatego to narzędzie używa PBKDF2-SHA256 ze 100 000 iteracji i losowym salt do wyprowadzenia właściwego klucza AES. Salt zapobiega temu, by identyczne hasła dawały identyczne klucze pochodne, i podnosi koszt ataków brute force.

Obsługa IV i nonce jest krytyczna. GCM zwykle używa 12-bajtowego IV i nigdy nie wolno ponownie użyć tego samego IV z tym samym kluczem. CBC używa nieprzewidywalnego 16-bajtowego IV. CTR korzysta z konstrukcji counter/nonce, a ponowne użycie może mieć katastrofalne skutki. To narzędzie automatycznie generuje bezpieczne wartości IV podczas szyfrowania i pokazuje je, aby deszyfrowanie mogło odtworzyć te same parametry.

Ta strona jest przeznaczona do developmentu, debugowania, nauki i samodzielnie zarządzanych testów szyfrowania. Dla sekretów produkcyjnych, danych regulowanych i informacji klientów używaj audytowanych bibliotek kryptograficznych, serwerowego zarządzania kluczami, kontroli dostępu, logów audytowych oraz, gdy ma to sens, nowoczesnej KDF takiej jak Argon2id.