Skip to content

Narzędzie do odszyfrowywania AES — OpenSSL i CryptoJS

Odszyfruj AES online — GCM/CBC/CTR, hasło lub klucz surowy, automatyczne wykrywanie formatu OpenSSL i CryptoJS „U2FsdGVkX1”. 100% w przeglądarce, klucze nigdy jej nie opuszczają.

Bez śledzenia Działa w przeglądarce Bezpłatne
Wszystko działa w Twojej przeglądarce — Twój klucz i dane nigdy jej nie opuszczają.
Zalecane
Rozmiar klucza
Typ klucza
Opcje zaawansowane
Tekst jawny
Potrzebujesz dedykowanej strony szyfrowania?
Zweryfikowane pod kątem poprawności kryptograficznej względem FIPS 197, NIST SP 800-38D, OWASP oraz specyfikacji W3C Web Crypto — Zespół ds. Bezpieczeństwa Go-Tools · Jul 16, 2026

Jak działa odszyfrowywanie AES

Odszyfrowywanie AES jest dokładną odwrotnością szyfrowania: ten sam symetryczny klucz, który wymieszał dane, uruchamia rundy szyfru w odwrotnej kolejności, aby odzyskać oryginalne bajty. Ponieważ AES jest symetryczny, nie istnieje osobny „klucz do odszyfrowania” — musisz podać identyczny klucz lub hasło, tryb i IV, których użyto do zaszyfrowania. Ustaw parametry poprawnie, a tekst jawny wróci bajt po bajcie; pomyl choć jeden, a otrzymasz błąd lub bezsensowne dane.

Aby poprawnie odszyfrować, cztery rzeczy muszą dokładnie odpowiadać szyfrowaniu: klucz (lub hasło wraz z ustawieniami funkcji wyprowadzania klucza), tryb pracy (GCM, CBC lub CTR), IV lub nonce oraz — w przypadku GCM — tag uwierzytelniający. Pomiń którekolwiek z nich, a wynikiem będzie albo twardy błąd (błąd uwierzytelniania GCM, błąd dopełnienia CBC), albo ciche bezsensowne dane (CTR, lub CBC z niewłaściwym IV). To narzędzie samo odczytuje sól, IV i tag z szyfrogramu, gdy są w nim zapakowane, i diagnozuje awarię, gdy coś się nie zgadza.

Szyfrogram pojawia się w kilku różnych postaciach, a to narzędzie rozumie trzy z nich. Format 1 to nasz samowystarczalny układ z hasłem: 16-bajtowa sól, potem IV, a następnie szyfrogram (z dołączonym tagiem GCM w trybie GCM) — odszyfruj go, mając tylko hasło. Format 2 to układ z surowym kluczem: IV poprzedzający szyfrogram, albo „goły” szyfrogram, w którym IV podajesz osobno. Format 3 to układ OpenSSL, tworzony przez polecenie openssl enc oraz przez CryptoJS.

Warto rozpoznawać ten format OpenSSL na pierwszy rzut oka. Zaczyna się od 8 bajtów ASCII Salted__, po których następuje 8-bajtowa sól, a potem szyfrogram, a gdy całość jest zakodowana w Base64, te pierwsze bajty zawsze renderują się jako prefiks U2FsdGVkX1. Jeśli więc szyfrogram, który dostałeś, zaczyna się od U2FsdGVkX1, niemal na pewno został utworzony poleceniem openssl enc lub wywołaniem CryptoJS AES.encrypt(text, passphrase). CryptoJS wyprowadza swój klucz za pomocą przestarzałej funkcji EVP_BytesToKey, używając pojedynczego przebiegu MD5, podczas gdy nowoczesny openssl używa PBKDF2 — dlatego wybranie właściwej funkcji wyprowadzania klucza to cała gra przy odszyfrowywaniu takich danych. Jeśli Twoje wejście jest w Base64 i chcesz po prostu zobaczyć surowe bajty, nasz dekoder Base64 je pokaże. Aby utworzyć szyfrogram w tych formatach, użyj narzędzia do szyfrowania AES.

// AES-256-GCM decrypt with a passphrase (PBKDF2-HMAC-SHA256, 600,000 iterations).
// Identical code runs in the browser and in Node.js 20+ via Web Crypto.
async function aesGcmDecrypt(base64, passphrase) {
  const enc = new TextEncoder();
  const packed = Uint8Array.from(atob(base64), (c) => c.charCodeAt(0));
  const salt = packed.slice(0, 16), iv = packed.slice(16, 28); // salt(16) | iv(12)
  const ct = packed.slice(28);                                 // ciphertext + tag
  const baseKey = await crypto.subtle.importKey(
    'raw', enc.encode(passphrase), 'PBKDF2', false, ['deriveKey']);
  const key = await crypto.subtle.deriveKey(
    { name: 'PBKDF2', salt, iterations: 600000, hash: 'SHA-256' },
    baseKey, { name: 'AES-GCM', length: 256 }, false, ['decrypt']);
  const plain = await crypto.subtle.decrypt(
    { name: 'AES-GCM', iv }, key, ct);        // throws if the tag fails
  return new TextDecoder().decode(plain);     // recovered plaintext
}

Kluczowe funkcje

Automatyczne wykrywanie wyniku OpenSSL i CryptoJS

Wklej szyfrogram zaczynający się od U2FsdGVkX1, a narzędzie rozpozna format Salted__ i zaproponuje przełączenie jednym kliknięciem na odpowiedni przebieg odszyfrowywania, dzięki czemu nigdy nie walczysz z błędem bez wyjścia.

Trzy funkcje wyprowadzania klucza

Odszyfrowuj dane z każdej generacji formatu openssl enc: PBKDF2 z niestandardową liczbą iteracji, EVP_BytesToKey z SHA-256, lub przestarzały pojedynczy przebieg MD5 używany przez CryptoJS.

Wyjaśnia, dlaczego odszyfrowanie się nie powiodło

Zamiast ogólnego błędu otrzymujesz diagnozę: zły klucz kontra zły IV, błąd uwierzytelniania GCM, błąd dopełnienia CBC, zanieczyszczenie base64 lub „to wygląda na szyfrogram z ery MD5, spróbuj EVP-MD5”.

Równoważne polecenie openssl pokazane na żywo

Zobacz dokładne polecenie openssl enc -d, które odtwarza odszyfrowanie w wierszu poleceń, wraz z liczbą iteracji, dzięki czemu możesz zweryfikować wynik poza przeglądarką.

Hasło lub klucz surowy, GCM/CBC/CTR

Obsługuje samowystarczalny szyfrogram z hasłem, szyfrogram z kluczem surowym z dołączonym lub osobno podanym IV, oraz wszystkie trzy tryby Web Crypto.

100% w Twojej przeglądarce

Szyfrogram i klucze są przetwarzane lokalnie za pomocą Web Crypto API i nigdy nie są przesyłane — możesz to zweryfikować za pomocą zakładki Sieć lub przechodząc offline.

Przykłady odszyfrowywania AES

Odszyfruj samowystarczalny szyfrogram z hasłem (GCM)

sól(16) ‖ iv(12) ‖ szyfrogram ‖ tag(16), Base64 — ze strony szyfrowania
The quick brown fox jumps over the lazy dog.

To odwrotność przykładu GCM ze strony szyfrowania. Weź samowystarczalny ciąg Base64, który został tam wygenerowany dla hasła hunter2, wklej go tutaj z Trybem GCM, Rozmiarem klucza 256, Typem klucza Hasło i tym samym hasłem hunter2, a oryginalne zdanie powróci. Nie musisz wprowadzać soli ani IV osobno — narzędzie odczytuje 16-bajtową sól i 12-bajtowy IV z początku ciągu, wyprowadza klucz za pomocą PBKDF2-HMAC-SHA256 (600 000 iteracji) i weryfikuje dołączony 128-bitowy tag GCM przed zwróceniem jakiegokolwiek tekstu. Kliknij Wczytaj przykład na stronie szyfrowania, aby wygenerować nowy ciąg, a następnie odszyfruj go tutaj.

Odszyfruj prawdziwy wynik OpenSSL / PBKDF2

U2FsdGVkX18AESIzRFVmd1PBwxIFQpF+VgIhTK0aDHQ=
Attack at dawn!

To autentyczny wynik openssl enc. Wklej go, przełącz na tryb OpenSSL (Tryb CBC, Typ klucza Hasło), wprowadź hasło correct-horse, wybierz funkcję wyprowadzania klucza PBKDF2 i ustaw liczbę iteracji na 10 000 — tekstem jawnym jest Attack at dawn!. Prefiks U2FsdGVkX1 poinformował narzędzie, że to format Salted__, a 8-bajtowa sól znajduje się zaraz po tym nagłówku wewnątrz Base64. Możesz odtworzyć dokładne odszyfrowanie w wierszu poleceń: echo 'U2FsdGVkX18AESIzRFVmd1PBwxIFQpF+VgIhTK0aDHQ=' | openssl enc -d -aes-256-cbc -pbkdf2 -iter 10000 -pass pass:correct-horse -base64 -A. Jeśli podobny szyfrogram zawiedzie z PBKDF2, prawdopodobnie został utworzony przez CryptoJS — przełącz KDF na EVP-MD5 i spróbuj ponownie. Kliknij Wczytaj przykład OpenSSL, aby wypełnić te wartości automatycznie.

Jak odszyfrować szyfrogram AES

  1. 1

    Wklej szyfrogram

    Upuść swój szyfrogram Base64 lub Hex do pola wejściowego. Jeśli zaczyna się od U2FsdGVkX1, narzędzie oznaczy go jako format OpenSSL/CryptoJS i zaproponuje przełączenie na właściwy tryb.

  2. 2

    Ustaw format i tryb

    Dla samowystarczalnego ciągu z tego narzędzia zostaw tryb Hasło i odpowiadający GCM/CBC/CTR. Dla wyniku OpenSSL/CryptoJS zaakceptuj przełączenie (CBC + hasło). Dla danych z kluczem surowym wybierz Klucz surowy i kodowanie, a jeśli IV nie jest dołączony, podaj go osobno.

  3. 3

    Wybierz funkcję wyprowadzania klucza

    W trybie OpenSSL wybierz PBKDF2 (i jego liczbę iteracji), EVP-SHA256 lub EVP-MD5, aby dopasować sposób wyprowadzenia klucza. EVP-MD5 to ta, której używa CryptoJS.

  4. 4

    Wprowadź hasło lub klucz

    Wpisz dokładne hasło albo wklej dokładny klucz surowy jako hex lub Base64. Tekst jawny pojawi się po prawej stronie, gdy tylko wszystko będzie się zgadzać.

  5. 5

    Przeczytaj diagnozę, jeśli się nie powiedzie

    Jeśli odszyfrowanie zwróci błąd, panel wskaże prawdopodobną przyczynę — zły IV, zły klucz, błąd dopełnienia, zanieczyszczenie base64 lub niezgodność KDF — dzięki czemu możesz dostosowywać jedno ustawienie naraz zamiast zgadywać.

Dlaczego odszyfrowywanie AES zawodzi — i jak to naprawić

Uwierzytelnianie GCM nie powiodło się

GCM odmawia zwrócenia tekstu jawnego, jeśli tag się nie zweryfikuje. Przyczyną jest złe hasło lub klucz, zły tryb, zły IV, albo zmieniony/obcięty szyfrogram — GCM nie potrafi powiedzieć który. Sprawdź ponownie każdy z nich względem sposobu zaszyfrowania danych.

✗ Niepoprawne
mode: CBC        // but the data was encrypted with GCM
=> Authentication failed
✓ Poprawne
mode: GCM, same passphrase and key size as encryption
=> plaintext

CBC: zniekształcony pierwszy blok oznacza zły IV

W CBC IV wpływa tylko na pierwszy 16-bajtowy blok. Jeśli pierwszy blok jest bezsensowny, a reszta dekoduje się czysto, Twój IV jest błędny; jeśli wszystko jest bezsensowne, klucz jest błędny.

✗ Niepoprawne
iv: 00000000000000000000000000000000   (wrong IV)
=> first block corrupt, rest readable
✓ Poprawne
iv: (the exact IV used to encrypt)
=> Attack at dawn!

Błąd dopełnienia CBC / PKCS#7

Błąd dopełnienia niemal zawsze oznacza, że klucz jest błędny; może też oznaczać, że szyfrogram został uszkodzony, obcięty, lub nie był dopełniony metodą PKCS#7. Potwierdź, że cały szyfrogram został skopiowany, a hasło i KDF się zgadzają.

✗ Niepoprawne
passphrase: hunter3   // one character off
=> padding error
✓ Poprawne
passphrase: hunter2   // exact
=> plaintext

Zanieczyszczenie Base64 (lub hex)

Nowe linie, spacje lub inteligentne cudzysłowy wklejone razem z szyfrogramem psują dekodowanie. Narzędzie automatycznie usuwa białe znaki, ale brakujące lub dodatkowe znaki nadal powodują błąd.

✗ Niepoprawne
“U2FsdGVkX1...”   (curly quotes and trailing junk copied in)
✓ Poprawne
U2FsdGVkX18AESIzRFVmd1PBwxIFQpF+VgIhTK0aDHQ=   (clean Base64)

Wykryto U2FsdGVkX1, ale tryb OpenSSL jest wyłączony

Jeśli dane wejściowe zaczynają się od U2FsdGVkX1, patrzysz na wynik Salted__ z OpenSSL/CryptoJS, który nie odszyfruje się jako zwykły ciąg z hasłem. Narzędzie pokazuje baner; kliknij Przełącz na tryb OpenSSL i wybierz KDF.

✗ Niepoprawne
OpenSSL compatible: off
input: U2FsdGVkX1...
=> cannot parse
✓ Poprawne
OpenSSL compatible: on, KDF chosen
=> plaintext

Niezgodność KDF (pułapka CryptoJS)

Szyfrogram, który zawodzi z PBKDF2 lub SHA-256, ale odszyfrowuje się z EVP-MD5, został utworzony przez CryptoJS lub openssl 1.0.2 i starsze. W wierszu poleceń wymagają one -md md5.

✗ Niepoprawne
KDF: PBKDF2       // CryptoJS ciphertext
=> padding error
✓ Poprawne
KDF: EVP-MD5      // matches CryptoJS
=> plaintext

Co możesz zrobić dzięki odszyfrowywaniu AES

Odszyfruj wynik openssl enc
Odczytaj blob Salted__ utworzony przez openssl enc -aes-256-cbc bez przechodzenia do terminala: wklej Base64, wprowadź hasło, wybierz KDF i uzyskaj swój tekst jawny.
Odszyfruj szyfrogram CryptoJS
Odzyskaj dane ze starszej aplikacji, która używała CryptoJS AES.encrypt(text, passphrase). Wybierz EVP-MD5, aby dopasować jego jednoprzebiegowe wyprowadzanie klucza MD5 — krok, który większość ludzi pomija.
Debuguj odszyfrowanie, które wciąż zawodzi
Gdy Twój własny kod nie potrafi czegoś odszyfrować, wklej to tutaj, aby wyizolować, czy problem leży w kluczu, IV, trybie, kodowaniu, czy w KDF, korzystając z panelu diagnostycznego.
Zweryfikuj cały cykl szyfrowania
Potwierdź, że szyfrogram ze strony szyfrowania AES lub z Twojej aplikacji odszyfrowuje się z powrotem do dokładnie oryginalnych bajtów.
Zrozum nieznany szyfrogram
Rozpoznaj format po jego kształcie — prefiks U2FsdGVkX1 lub prefiks o stałej długości przypominający IV — i ustal, jak został utworzony, zanim spróbujesz klucza.

Wewnętrzne mechanizmy i formaty odszyfrowywania AES

Odszyfrowanie GCM — uwierzytelnione
GCM ponownie oblicza 128-bitowy tag na podstawie szyfrogramu i porównuje go przed zwróceniem jakiegokolwiek tekstu jawnego; niezgodność powoduje błąd zamiast wycieku uszkodzonych danych. Używa 96-bitowego IV, który był dołączony na początku. Awaria GCM oznacza, że klucz, tryb, IV lub szyfrogram są nieprawidłowe — sam szyfr nie potrafi powiedzieć, który z nich.
Odszyfrowanie CBC — obserwuj pierwszy blok i dopełnienie
CBC ma dwa odrębne sygnatury błędów. Jeśli tylko pierwszy 16-bajtowy blok jest zniekształcony, a reszta wygląda dobrze, IV był błędny. Jeśli każdy blok to bezsensowne dane, klucz jest błędny. Błąd dopełnienia PKCS#7 zwykle oznacza, że klucz jest błędny, albo że szyfrogram został uszkodzony lub obcięty. CBC nie ma tagu (w przeciwieństwie do konstrukcji uwierzytelnionej, takiej jak HMAC), więc zły klucz może nawet odszyfrować się do wiarygodnie wyglądających bajtów.
Odszyfrowanie CTR — ciche w przypadku błędu
CTR nigdy nie zgłasza błędu: zły klucz po prostu daje bezsensowne dane, co zwykle ujawnia się jako błąd „nieprawidłowy UTF-8” po zdekodowaniu bajtów na tekst. Dopasuj dokładnie licznik/IV. Ponieważ nie ma kontroli integralności, traktuj z podejrzliwością każdy wynik CTR, którego nie uwierzytelniłeś osobno.
Układy szyfrogramu (F1 / F2 / F3)
Format 1 (hasło) to sól(16), potem IV, potem szyfrogram, z dołączonym 16-bajtowym tagiem GCM w trybie GCM. Format 2 (klucz surowy) to IV, potem szyfrogram, albo goły szyfrogram z osobno podanym IV. Format 3 (OpenSSL) to nagłówek ASCII Salted__, potem 8-bajtowa sól, potem szyfrogram. Znajomość posiadanego układu mówi narzędziu, gdzie znajdują się sól i IV, a sam klucz surowy powinien pochodzić z CSPRNG — zobacz generator kluczy tajnych.
Wyprowadzanie klucza: dopasowanie do tego, co zaszyfrowało dane
Dla samowystarczalnego szyfrogramu z hasłem to narzędzie używa PBKDF2-HMAC-SHA256 przy 600 000 iteracjach. Dla szyfrogramu OpenSSL/CryptoJS musisz wybrać zastosowany KDF: PBKDF2 (domyślna wartość openssl -pbkdf2 to 10 000 iteracji — ustaw dokładną liczbę), EVP_BytesToKey z SHA-256 (openssl 1.1+ bez -pbkdf2), albo EVP_BytesToKey z MD5 i pojedynczym przebiegiem (CryptoJS oraz openssl 1.0.2 i starsze). Klasyczny błąd „to się nie odszyfrowuje” to szyfrogram z CryptoJS lub starego openssl, próbowany z SHA-256 — przełącz na EVP-MD5, a zadziała.

Najlepsze praktyki odszyfrowywania AES

Zacznij od zidentyfikowania formatu
Zanim dotkniesz ustawień, spójrz na szyfrogram. Prefiks U2FsdGVkX1 oznacza OpenSSL/CryptoJS; samowystarczalny ciąg z tego narzędzia to format z hasłem; goły blob zwykle wymaga klucza surowego i osobnego IV.
Dopasuj dokładnie funkcję wyprowadzania klucza
Dla szyfrogramu OpenSSL/CryptoJS KDF jest tak samo ważny jak hasło. Jeśli PBKDF2 zawiedzie, spróbuj EVP-MD5 (CryptoJS, stary openssl); liczba iteracji też musi się zgadzać, nie tylko algorytm.
Wklejaj szyfrogram czysto
Zbłąkane nowe linie lub spacje z kopiowania mogą uszkodzić Base64. To narzędzie usuwa białe znaki, ale jeśli dekodowanie wciąż zawodzi, sprawdź, czy nie ma inteligentnych cudzysłowów, brakujących znaków lub obciętej kopii. Nasze narzędzie Base64 może pomóc zbadać podejrzany ciąg.
Traktuj wynik z błędnym kluczem uczciwie
Przy CTR lub CBC błędny klucz może wygenerować bajty zamiast błędu. Jeśli wynik wygląda na bezsensowny albo nie przechodzi testu UTF-8, klucz lub IV są błędne — nie ufaj częściowo wyglądającemu wynikowi.
Nigdy nie wysyłaj tajnego szyfrogramu ani kluczy na serwer
Sens odszyfrowywania w przeglądarce polega na tym, że nic nie opuszcza strony. Unikaj narzędzi, które przesyłają dane; to narzędzie używa Web Crypto lokalnie, a Ty możesz to zweryfikować za pomocą zakładki Sieć albo przechodząc offline. AES-256 jest silny — zatwierdzony w CNSA 2.0 dla TOP SECRET — więc jeśli nie możesz odszyfrować, problemem są parametry, a nie szyfr.

FAQ dotyczące odszyfrowywania AES

Czy można odszyfrować AES bez klucza?
Nie — i uważaj na każdego, kto twierdzi inaczej. AES nie ma żadnej znanej praktycznej słabości, więc bez klucza lub hasła jedyną opcją jest brute force, a liczby czynią to beznadziejnym: AES-256 ma 2^256 możliwych kluczy — przestrzeń tak ogromną, że nawet astronomicznie szybkie zgadywanie potrzebowałoby czasu znacznie dłuższego niż wiek wszechświata, by zrobić w niej choćby wgłębienie. Nie istnieje odzyskiwanie typu „zapomniałem hasła” dla AES ani żadna legalna usługa, która odszyfruje za Ciebie dowolny szyfrogram AES. Jeśli zgubiłeś klucz, dane przepadły; jeśli go masz, to narzędzie odszyfruje je w Twojej przeglądarce. Gdy odszyfrowanie zawodzi mimo posiadania klucza, winowajcą niemal zawsze jest zły tryb, zły IV lub zła funkcja wyprowadzania klucza — a nie złamany szyfr.
Jak odszyfrować wynik openssl enc?
Wklej szyfrogram Base64 (zaczyna się od U2FsdGVkX1) i zaakceptuj propozycję narzędzia, by przełączyć się na tryb OpenSSL, albo włącz tryb zgodny z OpenSSL ręcznie, ustawiając Tryb CBC i Typ klucza Hasło. Wprowadź hasło, a następnie wybierz funkcję wyprowadzania klucza, której użył openssl: PBKDF2, jeśli plik utworzono z -pbkdf2 (ustaw tę samą liczbę iteracji — domyślnie 10 000), albo EVP-SHA256 dla zwykłego pliku OpenSSL 1.1+ bez -pbkdf2. Narzędzie pokazuje dokładne polecenie openssl enc -d, które odwzorowuje. Na przykład echo 'U2FsdGVkX18AESIzRFVmd1PBwxIFQpF+VgIhTK0aDHQ=' | openssl enc -d -aes-256-cbc -pbkdf2 -iter 10000 -pass pass:correct-horse -base64 -A wypisuje Attack at dawn!.
Co oznacza U2FsdGVkX1 na początku szyfrogramu?
To odcisk palca formatu Salted__ z OpenSSL. OpenSSL i CryptoJS dodają na początku szyfrogramu 8 bajtów ASCII Salted__, po których następuje 8-bajtowa sól, a gdy całość jest zakodowana w Base64, początkowe bajty zawsze wychodzą jako U2FsdGVkX1. Widok tego mówi Ci dwie rzeczy: dane zostały utworzone poleceniem openssl enc lub wywołaniem CryptoJS AES.encrypt(text, passphrase), a klucz został wyprowadzony z hasła — więc będziesz potrzebować hasła oraz odpowiedniej funkcji wyprowadzania klucza, a nie klucza surowego. Wklej to, a to narzędzie automatycznie wykryje format i zaproponuje przełączenie na odpowiedni przebieg.
Jak odszyfrować szyfrogram CryptoJS?
CryptoJS.AES.encrypt(text, passphrase) używa formatu Salted__ z OpenSSL, ale z kluczem wyprowadzonym przez przestarzałą funkcję EVP_BytesToKey, używającą MD5 i tylko jednej iteracji. Wklej więc szyfrogram, przełącz się na tryb OpenSSL i wybierz funkcję wyprowadzania klucza EVP-MD5 — to ustawienie, które niemal każdy pomija, i dlatego szyfrogram CryptoJS wygląda, jakby „nie chciał się odszyfrować”, gdy próbuje się go z PBKDF2 lub SHA-256. Wprowadź to samo hasło, a Twój tekst jawny się pojawi. W wierszu poleceń równoważne odszyfrowanie wymaga -md md5.
GCM czy CBC — dlaczego mój szyfrogram odszyfrowuje się jednym sposobem, a nie drugim?
Tryb musi odpowiadać sposobowi, w jaki dane zostały zaszyfrowane; te dwa tryby nie są wymienne. GCM zawiera 128-bitowy tag uwierzytelniający i odmówi odszyfrowania (błąd uwierzytelniania), jeśli wybierzesz zły tryb, klucz lub IV. CBC nie ma tagu, więc błędny wybór może po cichu wygenerować bezsensowne dane lub błąd dopełnienia zamiast wyraźnej awarii. Jeśli uwierzytelnianie GCM wciąż zawodzi, potwierdź, że dane rzeczywiście są w GCM; jeśli CBC daje błędy dopełnienia, sprawdź ponownie hasło i funkcję wyprowadzania klucza. Panel diagnostyczny tego narzędzia wskazuje najbardziej prawdopodobną przyczynę zamiast ogólnego błędu.
Czy mój szyfrogram lub klucz są przesyłane, gdy tu odszyfrowuję?
Nie. Odszyfrowywanie działa całkowicie w Twojej przeglądarce za pomocą Web Crypto API (crypto.subtle) — tego samego audytowanego silnika, którego Twoja przeglądarka używa dla HTTPS. Twój szyfrogram, hasło i klucz nigdy nigdzie nie są wysyłane — możesz obserwować, jak zakładka Sieć pozostaje pusta, albo odłączyć się od internetu i odszyfrowywać offline. To lokalne działanie sprawia, że rozsądnie jest wklejać tu wrażliwy szyfrogram, choć nadal powinieneś unikać obsługi sekretów produkcyjnych w jakimkolwiek narzędziu online.
Jaka jest różnica między hasłem a kluczem surowym podczas odszyfrowywania?
Decyduje ona o tym, jak wprowadzasz sekret. Jeśli dane zostały zaszyfrowane z hasła (w tym wszystko w formacie U2FsdGVkX1), wybierz Hasło i pozwól narzędziu wyprowadzić klucz za pomocą odpowiedniego KDF i soli. Jeśli zostały zaszyfrowane dokładnym kluczem 128/192/256-bitowym, wybierz Klucz surowy i wklej te bajty jako hex lub Base64 — może być też konieczne podanie IV, albo dołączonego do szyfrogramu, albo wprowadzonego osobno. Próba odszyfrowania danych z hasła kluczem surowym, lub odwrotnie, to częsty powód niepowodzenia odszyfrowania. Aby utworzyć szyfrogram w dowolnej z tych postaci, użyj narzędzia do szyfrowania AES.

Powiązane narzędzia

Zobacz wszystkie narzędzia →