2016-10-11 6 views
1

der folgende Code für die Dateiverschlüsselung funktioniert perfekt in meinem lokalen XAMPP-Server. Aber während hochgeladen und in aws ec2-Server läuft es nicht funktioniert
stream_filter_append($fcrypt, 'mcrypt.rijndael-128', STREAM_FILTER_WRITE, $opts) Code. Datei verschlüsselt nicht. Wie kann ich dieses Problem lösen?stream_filter_append PHP funktioniert nicht in AWS-Server

$fin = fopen($input_stream, "rb"); 
$fcrypt = fopen($aes_filename, 'wb'); 
$opts = array('iv'=>'','key'=>$key, 'mode'=>'ctr'); 
if(!stream_filter_append($fcrypt, 'mcrypt.rijndael-128', STREAM_FILTER_WRITE, $opts)){ 
    echo "encryption failed"; 
    exit; 
}else{ 
    while (!feof($fin)) 
    { 
     fwrite($fcrypt, fread($fin, 8192)); 
    } 
    fclose($fcrypt); 
    fclose($fin); 
} 
+0

arbeiten Am besten ist es nicht mcrypt zu verwenden, ist es abandonware, hat seit Jahren nicht aktualisiert und unterstützt keine Standard PKCS # 7 (née PKCS # 5) Klotzen, nur nicht -Standard-Null-Padding, das nicht einmal mit Binärdaten verwendet werden kann. mcrypt hat viele herausragende [Bugs] (https://sourceforge.net/p/mcrypt/bugs/) aus dem Jahr 2003. Stattdessen sollten Sie [defuse] (https://github.com/defuse/php-encryption) oder verwenden [RNCryptor] (https://github.com/RNCryptor), sie bieten eine vollständige Lösung und werden beibehalten und sind korrekt. – zaph

+0

Ich brauche einen Crypter, der sowohl in PHP als auch Android funktioniert. Welcher ist der Beste und der Bessere? –

Antwort

0

RNCryptor ist verfügbar Cross-Plattform und für mehrere Sprachen, sondern auch komplett mit zufälligen IV, Passwort Erweiterung und Verschlüsselung Authentifizierung. Es ist gut unter aktueller Entwicklung und Unterstützung geprüft.

0

das eigentliche Problem der nicht funktioniert mein Code ist mit dem Stream-Filter-Namen 'mcrypt.rijndael-128', ich habe gerade 'Mcrypt' zu meinem aws-Server mit den folgenden Codes.

sudo yum install php56-mcrypt 
sudo service httpd restart 

Nun ist es perfekt