Próbuje napisać kilka funkcji, które będą szyfrowania i deszyfrowania plików i używam klasę znaleźć tutaj, aby spróbować osiągnąć ten cel:szyfrowania/odszyfrowania pliku z mcrypt
http://www.itnewb.com/v/PHP-Encryption-Decryption-Using-the-MCrypt-Library-libmcrypt
Funkcja szyfrowania poniżej wydaje do pracy, ponieważ wydaje się, że zaszyfrował plik i umieścił go w pożądanym katalogu. Próbuję odszyfrować plik teraz, i po prostu umiera z komunikatem "Nie udało się do końca odszyfrować" (który jest tam zakodowany ...) W dziennikach błędów php nie ma nic, więc nie jestem pewien, dlaczego to się nie udaje , ale jak mcrypt jest zupełnie nowe dla mnie, jestem bardziej niż skłonny uwierzyć, że robię coś złego tutaj ...
Oto funkcje:
//ENCRYPT FILE
function encryptFile() {
global $cryptastic;
$pass = PGPPASS;
$salt = PGPSALT;
$key = $cryptastic->pbkdf2($pass, $salt, 1000, 32) or die("Failed to generate secret key.");
if ($handle = opendir(PATH.'/ftpd')) {
while (false !== ($file = readdir($handle))) {
if ($file != "." && $file != "..") {
$newfile = PATH.'/encrypted/'.$file.'.txt';
$msg = file_get_contents(PATH.'/ftpd/'.$file);
$encrypted = $cryptastic->encrypt($msg, $key) or die("Failed to complete encryption.");
$nfile = fopen($newfile, 'w');
fwrite($nfile, $encrypted);
fclose($nfile);
unlink(PATH.'/ftpd/'.$file);
}
}
closedir($handle);
}
//DECRYPT FILE
function inFTP() {
global $cryptastic;
$pass = PGPPASS;
$salt = PGPSALT;
$key = $cryptastic->pbkdf2($pass, $salt, 1000, 32) or die("Failed to generate secret key.");
if ($handle = opendir(PATH.'/encrypted')) {
while (false !== ($file = readdir($handle))) {
if ($file != "." && $file != "..") {
$newfile = PATH.'/decrypted/'.$file;
$msg = PATH.'/encrypted/'.$file;
$decrypted = $cryptastic->decrypt($msg, $key) or die("Failed to complete decryption.");
$nfile = fopen($newfile, 'w');
fwrite($nfile, $decrypted);
fclose($nfile);
//unlink(PATH.'/encrypted/'.$file);
}
}
closedir($handle);
}
//$crypt->decrypt($file);
}
Czy klasa kryptograficzna nie ma jakiejś metody zgłaszania błędów, którą można wywołać? –