Witam.
Poszukuje komponentu który bylby w stanie skompresować kilka plików tekstowych do archiwum zip/rar z użyciem hasła. Przeglądałem dokumentacje zlib i niestety nigdzie nie znalazłem metody na kompresie z użyciem passwordu. Byłbym niezmiernie wdziecnzy gdyby ktoś pomógł mi w rozwiązaniu tego problemu.
A nie możesz użyć zewnętrznie wywołanego (LGPL) 7-ZIP? Przecież obsługuje różne kompresje, szyfrowania i do tego ma pasującą licencję. Łatwo go użyć w aplikacji.
Przejrzałem na szybko pliki źródlowe i nie byłem w stanie znaleŹć funkcji odpowiedzialnej za kompresje. Najprawdopodobniej coś przeoczyłem lub pewniej inezrozumiałem. Gdybyś mógł przytoczyć konkretną nazwe funkcji odpowiedzialnej za kompresje z hasłem byłbym inezmiernie wdzięczny.
Szczawikowi chyba chodzi o to, czy nie możesz po prostu wywołać u siebie czegoś takiego:
system("7z a -pSecrectPassword archiwum.7z [pliki do spakowania]");
gdzie zamiast system możesz wstawić oczywiście jakąś bardziej wyrafinowaną funkcję, która np uruchomi 7zipa niewidocznie i pozwoli czekać na jego zakończenie.
Ranides napisał(a)
Szczawikowi chyba chodzi o to, czy nie możesz po prostu wywołać u siebie czegoś takiego:
system("7z a -pSecrectPassword archiwum.7z [pliki do spakowania]");
gdzie zamiast system możesz wstawić oczywiście jakąś bardziej wyrafinowaną funkcję, która np uruchomi 7zipa niewidocznie i pozwoli czekać na jego zakończenie.
Nom, dokładnie. W Windows możesz użyć ShellExecute albo CreateProcess, zależnie od uznania. Robiłem tak właśnie w programie komercyjnym i do dziś działa niezawodnie.
W razie czego - przy możliwości wyedytowania używanego polecenia, pozwala klientowi na użycie innego kompresora, gdy zajdzie taka potrzeba (standard działający w firmie, czy inne takie).
Uzyłem UHARC na podobnej zasadzie jak proponujecie :).
Dziękuje za pomoc w rozwiązaniu tego problemu :)