2017-06-16 1 views
0

Ich frage mich, wenn jemand helfen kann, habe ich den folgenden Code, der eine Datei und ein Passwort schützt - aber ich möchte die Verschlüsselungsstufe der Zip, ähnlich wie ZipArchive definieren :: setEncryptionName, weiß jemand, ob dies möglich ist?PHP Zip eine Datei über Shell_exec und definieren Verschlüsselungsstufe

$command = "cd $location ; zip "; 
$command .= "-P $password "; 
$command .= "$filename.zip $filename.csv"; 
$system = shell_exec($command); 
//Set headers 
header('Content-Type: application/zip'); 
header('Content-Disposition: attachment; filename="' . $filename . '.zip"'); 
header('Content-Transfer-Encoding: binary'); 
header('Content-Length: ' . filesize($location . $filename . ".zip")); 
readfile($location . $filename . '.zip'); // output the zip 
unlink($location . $filename . '.csv'); // delete CSV 
unlink($location . $filename . '.zip'); // delete the zip 

Antwort

0

Gsusonline,

Für AES-256-Verschlüsselung, versuchen, die following--

exec("7z a -p $PASSWORD -mem=AES256 -tzip $ZIP $SOURCE"); 

Zusätzlich Besuche CkZip @https://www.chilkatsoft.com/

Wie pro ihre doc @https://www.chilkatsoft.com/refdoc/phpCkZipRef.html gefunden Es hat auch die Möglichkeit, Blowfish und Twofish zu verwenden:

int get_EncryptKeyLength() 
void put_EncryptKeyLength(int intVal); 

Die Länge des Verschlüsselungsschlüssels, wenn AES-, Blowfish-, Twofish- oder WinZip-kompatible AES-Verschlüsselung verwendet wird. Dieser Wert muss 128, 192 oder 256 sein Der Standardwert 128.

ist am besten,

-Rush

+0

Dank Rush, müssen zu sehen, ob ich dies umgesetzt bekommen und wahrscheinlich braucht 7z auf dem Server installiert. Angenommen, Sie würden wissen, wie Sie das testen können, um zu sehen, ob es auf dieser Ebene verschlüsselt ist, oder? – gsusonline