Szyfrowanie i odszyfrowywanie AES
Wklej tekst i hasło, aby szybko zaszyfrować lub odszyfrować dane wybranym szyfrem PHP OpenSSL. AES to symetryczny szyfr blokowy standaryzowany przez NIST w FIPS 197 i używany w wielu systemach TLS, WPA2, VPN oraz szyfrowania dysków, ale ta strona jest narzędziem do mało wrażliwego tekstu, a nie audytowanym sejfem na sekrety. Do poufnych plików lub sekretów długoterminowych użyj narzędzia offline, takiego jak age, GnuPG albo 7-Zip.
Jak szyfrować tekst AES
-
1
Wybierz szyfr OpenSSL
Obecne opcje obejmują warianty CBC, CTR i GCM. CBC oraz CTR nie są uwierzytelnione, a to narzędzie nie zapisuje ani nie sprawdza tagu uwierzytelniającego GCM.
-
2
Wpisz hasło
Hasło jest jednokrotnie haszowane SHA-256, aby utworzyć klucz AES. Nie ma PBKDF2, soli, Argon2 ani kosztu obliczeniowego, więc użyj długiego losowego hasła.
-
3
Wklej mało wrażliwy tekst
To narzędzie Livewire/PHP OpenSSL działa po stronie serwera. Nie wklejaj haseł, kluczy produkcyjnych, prywatnych dokumentów ani sekretów, których nie wysłałbyś tej stronie.
-
4
Skopiuj wynik Base64
Szyfrowanie tworzy losowy IV, dokleja go przed surowym szyfrogramem, a potem koduje połączone bajty jako Base64. Do odszyfrowania potrzebny jest ten sam szyfr i to samo hasło.
Co naprawdę zwraca to narzędzie
Ta implementacja używa PHP OpenSSL. Podczas szyfrowania haszuje hasło SHA-256, generuje losowy IV o długości wymaganej przez wybrany szyfr, szyfruje tekst i zwraca:
Base64(IV || szyfrogram)
Wynik nie zawiera soli, parametrów PBKDF2, HMAC ani tagu uwierzytelniającego GCM. Nie jest zgodny z formatami tworzonymi przez Web Crypto, age, GnuPG, przepisy OpenSSL z wiersza poleceń ani 7-Zip.
Opcje AES w kontekście
AES ma stały rozmiar bloku 128 bitów (16 bajtów) oraz standardowe rozmiary klucza 128, 192 i 256 bitów. Ważna różnica bezpieczeństwa tutaj to nie tylko rozmiar klucza, lecz także to, czy zaszyfrowana wiadomość jest uwierzytelniona.
| Opcja szyfru | Co warto wiedzieć w tym narzędziu |
|---|---|
| AES-128-CBC / AES-192-CBC / AES-256-CBC | Powszechny tryb blokowy z losowym IV i paddingiem PKCS#7. Do wykrywania modyfikacji potrzebuje osobnego MAC, np. HMAC-SHA-256. |
| AES-256-CTR | Zmienia AES w tryb podobny do strumieniowego. Także wymaga osobnego uwierzytelnienia i nigdy nie wolno ponownie używać tego samego IV/licznika z tym samym kluczem. |
| AES-128-GCM / AES-256-GCM | GCM normalnie jest trybem AEAD, ale tylko gdy tag uwierzytelniający jest zapisany i sprawdzany. Wynik tego narzędzia nie zawiera tego tagu, więc nie polegaj na nim jako na szyfrowaniu uwierzytelnionym. |
Przypomnienia bezpieczeństwa
Wytyczne OWASP dotyczące przechowywania kryptograficznego zalecają szyfrowanie uwierzytelnione, gdy jest dostępne, albo szyfrowanie plus osobny MAC. Pamiętaj o tym przy tym narzędziu:
- To szyfrowanie symetryczne - to samo hasło odszyfrowuje. Udostępniaj je innym kanałem niż szyfrogram.
- Słabe hasło jest tu słabym kluczem - SHA-256 jest szybki i bez soli, więc atakujący może szybko sprawdzać zgadywane hasła, jeśli ma wynik.
- CBC i CTR wymagają uwierzytelnienia - bez HMAC lub innego MAC atakujący może czasem zmienić szyfrogram bez wykrycia.
- Nie używaj ponownie IV ani nonce z tym samym kluczem - narzędzie generuje świeży losowy IV przy szyfrowaniu, ale wklejane dane zewnętrzne muszą trzymać się tej samej reguły.
- Do prawdziwych sekretów używaj narzędzi audytowanych - age, GnuPG i 7-Zip ostrożniej obsługują formaty plików, metadane i uwierzytelnienie.
Najczęściej zadawane pytania
Obecny komponent haszuje hasło SHA-256 i używa wynikowych bajtów jako materiału klucza dla OpenSSL. Nie używa PBKDF2, soli, scrypt ani Argon2, więc krótkie lub ponownie użyte hasło jest ryzykowne.
Nie. CBC i CTR potrzebują osobnego MAC, np. HMAC-SHA-256, a choć GCM normalnie zapewnia uwierzytelnienie AEAD, to narzędzie nie zapisuje ani nie sprawdza tagu GCM w wyniku Base64.
Na serwerze strony, gdy akcja Livewire uruchamia PHP OpenSSL. To nie jest narzędzie Web Crypto działające wyłącznie w przeglądarce, więc nie wklejaj wartościowych sekretów, kluczy prywatnych ani wrażliwych dokumentów.
Wynik Base64 zawiera losowy IV, a po nim surowy szyfrogram. Padding CBC może dodać bajty, a Base64 zwiększa dane binarne o około jedną trzecią. Zapisany format nie zawiera soli ani tagu uwierzytelniającego.
To narzędzie obsługuje tylko tekst i najlepiej ograniczyć je do mało ryzykownych fragmentów. Do plików lub ważnych sekretów użyj audytowanego narzędzia offline, takiego jak age, GnuPG albo 7-Zip.
Powiązane narzędzia
Koder szyfru A1Z26
Koduj tekst szyfrem A1Z26 (A=1, B=2, ... Z=26) albo dekoduj sekwencję liczb z powrotem na litery, z własnym separatorem.
Koder szyfru Atbash
Koduj lub dekoduj tekst szyfrem Atbash, hebrajskim podstawieniem mapującym A-Z na Z-A. Ta sama operacja szyfruje i odszyfrowuje.
Licznik słów
Policz słowa, znaki, zdania i akapity wraz z czasem czytania, czasem mówienia, gęstością słów kluczowych i wskaźnikiem czytelności Flescha — dla wypracowań, postów, podpisów i meta opisów.
Scal PDF
Scal wiele plików PDF, ustaw kolejność plików i stron metodą przeciągnij i upuść, a potem od razu pobierz wynik.
Kalkulator czasu trwania
Oblicz czas między dwiema godzinami jako HH:MM, godziny dziesiętne, minuty i sekundy.
Word na PDF
Konwertuj dokumenty Word .doc i .docx do PDF z zachowaniem układu strony, obrazów, tabel i nagłówków. Bezpieczne przesyłanie, automatyczne usunięcie po 2 godzinach.