• Willkommen im Linux Club - dem deutschsprachigen Supportforum für GNU/Linux. Registriere dich kostenlos, um alle Inhalte zu sehen und Fragen zu stellen.

PHP mdecrypt() decryptet nicht!

A

Anonymous

Gast
Code:
$input = $_POST['textarea'];
   $key = $_POST['key'];
   $iv = $_POST['iv'];
   /* Open the cipher */
   $td = mcrypt_module_open('rijndael-256', '', 'cfb', '');
         
   /* Initialize encryption handle */
    if (mcrypt_generic_init ($td, $key, $iv) != -1) {

        /* Encrypt data */
        $encrypted = mcrypt_generic ($td, $input);
        //mcrypt_generic_deinit ($td);

        /* Reinitialize buffers for decryption */
        mcrypt_generic_init ($td, $key, $iv);
        $decrypted = mdecrypt_generic ($td, $encrypted);

        /* Clean up */
        mcrypt_generic_deinit ($td);
        mcrypt_module_close ($td);
    }

?> 


<p><span class="style3">Ihr entschlüsselter Text:<br><font color="red"><?php echo $decrypted ?></font></span></p>
<p><span class="style3">Sie haben dieses Passwort eingegeben:<br><font color="red"><?php echo $key ?></font></span></p>
Nach aufrufen dieser Datei zeigt er mir nur meinen (immernoch verschlüsselten!!) Text an, einen decrypt hat er garnicht mal in erwägung gezogen, ich hab jetzt schon mehrere methoden/cyphers/keys/iv´s probiert, gingen alle nicht. Lediglich das Beispiel auf der php-seite funktioniert, was sich leider bei mir nicht genau so lösen lässt: Ich muss Decrypt und Encrypt auf 2 verschiedenen Seiten laufen lassen, die jeweils mit
Code:
$_POST['irgendwas']
den Text und Passwort und im Falle von decrypt auch den IV erhalten (geht auch, habs getestet). Nur wenn man mein Script "zusammenpackt" auf eine Seite, dann decryptet er auch korrekt. Sobald ich jedoch wie oben beschrieben auf einer zweiten Seite versuche mit dem gleichen Cypher, dem gleichen IV und Passwort zu decrypten, bringt er nur das verschlüsselte...... Kennt das Problem jemand? Könnte es auch sein, dass
Code:
$iv = mcrypt_create_iv(mcrypt_enc_get_iv_size($td), MCRYPT_DEV_RANDOM);
echo $iv
den falschen wert liefert?
 
Oben