Szukam składnika lub innej techniki kompresowania i szyfrowania wielu dużych plików (pliki przekraczające rozmiar 4 gb, a zatem nie mieszczą się w pamięci dostępnej dla procesu win32) w jednym pliku. Chciałbym, aby szyfrowanie było bardzo silne (256 bitów AES lub lepiej), ale kompresja nie ma dla mnie znaczenia.Jak mogę skompresować i zaszyfrować duży plik bez korzystania z zewnętrznych bibliotek DLL lub środowisk wykonawczych?
W tej chwili używam komponentu TJvZlibMultiple
, który tworzy własny format pliku spoza Zip, ale muszę utworzyć archiwum, a następnie zaszyfrować je w osobnym kroku (używam teraz DcpCrypt). Chciałbym zrobić to samo w jednym przebiegu, używając strumieni, bez użycia pamięci równej rozmiarowi pliku (ergo, kompresja i szyfrowanie powinny się zdarzyć ze strumieniami, a nie w pamięci).
Widziałem i nie chcę używać niczego, co wymaga zewnętrznych bibliotek DLL, takich jak dll 7zip. Komercyjne narzędzia są w porządku, albo jakikolwiek kod lub przykładowe źródła Delphi, ale szukam dokładnej implementacji w Delphi, a nie rzeczy, która importuje i wywołuje funkcje w bibliotece dll.
Nie zgadzam się z 2 głosów do zamknięcia! (szczególnie bez żadnego wyjaśnienia). –
@ François, dwa głosy były zarówno tym, że pytanie nie było konstruktywne, co w tym kontekście prawdopodobnie oznacza, że sprzeciwili się nagabywaniu składników, ponieważ graniczy z pytaniem ankietowym. Zrobiłem to nieco dalej od tej granicy, prosząc o bardziej ogólne pytanie, jak osiągnąć wyznaczony cel, zamiast pytać o konkretny komponent. Większość odpowiedzi prawdopodobnie zasugeruje komponenty lub biblioteki. –
Dzięki @RobKennedy. Wygląda rzeczywiście lepiej. –