Key: $key
Text: $text
Encrypt: $crypttext
Decrypt: $decrypttext";
//// EXAMPLE 2. with write and get the crypt text in a binary file ////
//// Hier gibt es dann Probleme ... (with problems ...) ///////////
$otherkey="Another Key";
$othertext="Another plain text";
$filename = "crypt.bin";
// Enrypten ...
$otheriv_size = mcrypt_get_iv_size(MCRYPT_RIJNDAEL_256, MCRYPT_MODE_ECB);
$otheriv = mcrypt_create_iv($otheriv_size, MCRYPT_RAND);
$othercrypttext = mcrypt_encrypt(MCRYPT_RIJNDAEL_256, $otherkey, $othertext, MCRYPT_MODE_ECB, $otheriv);
// In Datei schreiben (binär)
$print="$otheriv\r\n$othercrypttext";
echo "
EXAMPLE 2:
Key: $otherkey
Text: $othertext
File zum Speichern: $filename
Schreibe in Datei
=> neuen iv: $otheriv
=> den verschlüsselten Test: $othercrypttext";
$new_print = fopen($filename,"wb+");
fwrite($new_print,$print);
fclose($new_print);
// Aus der Datei lesen
$datei = fopen($filename,"rb");
$i=0;
while(!feof($datei))
{
// $zeile = fread($datei,filesize($filename));
$zeile = fgets($datei,255);
$cryptzeile[]=$zeile;
$i+=1;
}
fclose($datei);
// Decrypten ...
echo "
Habe nun aus Datei gelesen:
=> neuen iv: $cryptzeile[0]
=> den verschlüsselten Test: $cryptzeile[1]";
$otherdecrypttext = mcrypt_decrypt(MCRYPT_RIJNDAEL_256, $otherkey, $cryptzeile[1], MCRYPT_MODE_ECB, $cryptzeile[0]);
echo "
Habe nun alles dechriffiert:
Orignaler Text: $othertext
Chiffrierter Text aus Datei: $cryptzeile[1]
Dechiffrierter Text aus Datei: $otherdecrypttext";
//// FAZIT /////////////////
echo "
FAZIT:
- \"Warning: mcrypt_decrypt(): The IV parameter must be as long as the blocksize ...\" ist anscheindend ein Bug für PHP 4 und mcrypt(). Vgl. bitte ZEND Bug Report:
http://www.zend.com/lists/php-dev/200304/msg00491.html
- Das encrypt in und decrypt aus einer Datei ist instabil, da ab und zu unverständlich plötzlich (!!!) die Decodierung nicht mehr funktioniert. Öfter mal die Seite aktualisieren, dann kommt ihr bestimmt auch mal in diesen zweifelhaften Genuß.
Eigentlich schade! (Kay Vogelgesang)";
?>