DevToolPal
PL

Szyfrowanie i deszyfrowanie AES

Szyfruj i odszyfrowuj tekst AES-GCM lub AES-CBC za pomocą frazy (PBKDF2) albo klucza hex, z wynikiem w Base64.

Działa lokalnie, nic nie jest wysyłane

Opcje

Tryb
Algorytm
Klucz
Długość klucza

Wejście

0 znaków · 0 B

Wynik

0 znaków · 0 B

Do czego służy

AES (Advanced Encryption Standard) to szyfr symetryczny używany niemal wszędzie: w HTTPS, szyfrowaniu dysków, menedżerach haseł i komunikatorach. Ten sam tajny klucz szyfruje i odszyfrowuje. Narzędzie szyfruje tekst do Base64, który można wkleić gdziekolwiek, i odszyfrowuje go z powrotem.

Możesz użyć:

  • frazy, zamienianej na klucz 128- lub 256-bitowy przez PBKDF2-HMAC-SHA256 z losową solą, albo
  • klucza hex: 32 lub 64 cyfr szesnastkowych (128 lub 256 bitów), używanego bezpośrednio. Kliknij Losowy klucz, aby go utworzyć.

Dostępne są dwa tryby działania. AES-GCM to nowoczesny domyślny wybór, który wykrywa manipulacje. AES-CBC z dopełnieniem PKCS#7 służy zgodności ze starszymi systemami.

Jak używać

  1. Wybierz Szyfruj lub Odszyfruj, algorytm i rodzaj klucza.
  2. Wpisz frazę lub wklej klucz hex na górze pola wejściowego.
  3. Wklej tekst (lub Base64 do odszyfrowania). Wynik pojawi się po prawej; Użyj jako wejścia odwraca kierunek, by sprawdzić drogę tam i z powrotem.

Format wyniku

Wynik to jeden ciąg Base64, który przetrwa e-mail i czat:

passphrase:  salt (16 bytes) | IV (12 GCM / 16 CBC) | ciphertext (+ 16-byte tag for GCM)
hex key:     IV (12 GCM / 16 CBC) | ciphertext (+ 16-byte tag for GCM)

Do odszyfrowania użyj tego samego algorytmu, rodzaju klucza, długości klucza i liczby iteracji co przy szyfrowaniu. Te ustawienia są zapisane w adresie strony, więc udostępniony link je przenosi, a klucz zostaje u ciebie.

Jak wybrać frazę

PBKDF2 spowalnia każdą próbę, ale nie uratuje krótkiej ani popularnej frazy. Użyj długiej, losowej frazy, na przykład z generatora haseł, i przekaż ją innym kanałem niż szyfrogram. Więcej iteracji utrudnia zgadywanie i nieco spowalnia odszyfrowanie; typowo od 100 000 do 600 000.

FAQ

› Wybrać GCM czy CBC?

Wybierz GCM, chyba że inny system wymaga CBC. GCM jest uwierzytelniany: zły klucz lub jeden zmieniony bajt zostaną wykryte, zamiast dać śmieci. CBC zapewnia tylko poufność i przydaje się głównie do zgodności ze starszym kodem.

› Dlaczego szyfrogram za każdym razem jest inny?

Każde szyfrowanie używa nowego losowego IV, a przy frazie także nowej losowej soli. Oba są zapisane na początku wyniku, więc odszyfrowanie nadal działa. Ponowne użycie IV z tym samym kluczem, zwłaszcza w GCM, byłoby poważną słabością.

› Jak odszyfrować wynik we własnym kodzie?

Zdekoduj Base64. Przy frazie pierwsze 16 bajtów to sól PBKDF2, potem IV (12 bajtów dla GCM, 16 dla CBC), a dalej szyfrogram. Wyprowadź klucz przez PBKDF2-HMAC-SHA256 z tą samą liczbą iteracji. Przy kluczu hex nie ma soli. W GCM ostatnie 16 bajtów to znacznik uwierzytelniający.

› Czy moja fraza lub klucz są zapisywane albo wysyłane?

Nie. Szyfrowanie odbywa się w przeglądarce przez Web Crypto API. Fraza lub klucz istnieją tylko w pamięci tej strony: nie są zapisywane, nie trafiają do paska adresu ani do linków udostępniania, więc możesz udostępnić zaszyfrowaną wiadomość bez klucza.