2010-10-21 12 views
6

muszę stworzyć WinZip plik zip zgodne z aplikacji PHP na pole linux i musi używać szyfrowania AES 256. Znalazłem kilka rozwiązań dla PHP na Windows, ale one mi nie pomagają! Pakiet PHP byłby świetny, ale jeśli potrzebuję, zawsze mogę mieć mój kod PHP uruchamiać exec() lub coś, aby uruchomić narzędzie wiersza poleceń Linuksa.Jak mogę stworzyć zgodną WinZip AES-256 zaszyfrowany plik zip z PHP na Linux?

Wszelkie sugestie?

+0

wygląda trzeba zadzwonić zewnętrznego programu pocztowego do stosowania szyfrowania. Wbudowana w PHP klasa zip będzie działała dobrze dla tworzenia/wyodrębniania ogólnych plików zip w systemie Linux lub Windows, ale nie wspomina o żadnej obsłudze szyfrowania. –

+1

Wydaje się, że szyfrowanie AES jest Specyfiką WinZIP, (patrz http://www.winzip.com/aes_info.htm) zamiast powszechnie uznanym standardem w świecie plików ZIP, dzięki czemu potencjalnie trudne do tworzenia takich archiwów używanie PHP bez nawiązywania połączenia z WinZIP, zwłaszcza na maszynach bez systemu Windows. I to mnie zastanawia: dlaczego dokładnie chcesz to zrobić? Prawdopodobnie istnieje wiele dobrych alternatyw. Na jakim systemie operacyjnym uruchomi się twój skrypt i na jakim systemie operacyjnym będą otwierane pliki zip? Jakiego rodzaju rzeczy chcesz chronić przed kim i dlaczego? –

+0

Krótka odpowiedź Pelle ten Cate ... mój klient określił te wymagania. Mam nadzieję, że uda im się zgodzić się na niewielką zmianę, którą łatwiej mi zastosować. – Jason

Odpowiedz

0
  1. Jeśli klonem aplikacja Zip nie jest już zainstalowany na hoście, wystarczy wyszukać w Google zainstalowanie jednej z setek różnych zastosowań zip zdolnych do wspierania zarówno szyfrowanie i kompatybilność cross-platform.
  2. Zastosowanie `exec` lub podobna funkcja PHP aby wywołać dowolną dostępną aplikację zip zewnętrznego zdolnego skompresowanie i stosując szyfrowanie AES-256 do pliku docelowego. Musisz znać wszystkie przełączniki wiersza poleceń, które są wymagane przez twoją aplikację zip. Docelowe nazwy plików w parametrze ciągowym `exec` można oczywiście wyłączyć za pomocą zmiennych.
  3. Podawać nowy plik zip

Jednak nie powinno przeprowadza szyfrowania być problemem, zobacz PHP klasy Zip do wykonywania zwykłych plików zip: http://php.net/manual/en/book.zip.php

1

Nie php-specyficzne (kwestia ta jest wysoko w rankingu w Google również bez php): narzędzi 7-zip tej funkcji, w moim dokumentacji znalazłem polecenie:

7za a -tzip -pPASSWORD -mem=AES256 target.zip filelist 
+0

To pytanie jest w rankingu z powodu danej [tag: php] tagu – mate64

Powiązane problemy