Oprogramowanie > Multimedia
OPENSSL - problem z odszyfrowaniem pliku
Paweł Kraszewski:
1. Przez instrukcję miałem na myśli instrukcję do openssl-a, gdzie przeczytałbyś
--- Cytuj --- -K key
the actual key to use: this must be represented as a string comprised only of hex digits. (...)
--- Koniec cytatu ---
Klucz w hex, nie plik z kluczem (to opcja -kfile PLIK_Z_KLUCZEM)
2. Jak widać, nie przeczytałeś też instrukcji openssl_decrypt, gdzie napisane jest jak wół, że IV jest binarnym stringiem (vector w dokumentacji PHP to string zawierający surowe dane). W komentarzach możesz znaleźć $iv=hex2bin('IV-w-hex');
3. Tryb CBC ma to do siebie, że błędny IV psuje pierwszy blok odszyfrowania (pierwsze 16 bajtów w "podręcznikowym" AES*), następne odszyfrowują się poprawnie. Po prostu nie wszystkie programy odtwarzające radzą sobie z krzakami jako pierwsze 16 bajtów pliku.
* Piszę podręcznikowym, bo sam algorytm Rijndael (tak się naprawdę nazywa algorytm pracujący w środku AES) przewiduje bloki o długości innej, niż 128 bitów, ale po ustandaryzowaniu AES występuje tylko wersja 128-bitowa. AES128, AES192 i AES256 to długości klucza, nie bloku danych.
Nawigacja
Idź do wersji pełnej