mcrypt
SorgenkindMech
- php
hi ihrs!
also ich hab mal wieder ein problem
diesmal geht es um mcrypt ..
ich hab ja schon 2tage gebraucht um das ans rennen zu bekommen, fragt mich nicht wieso, aber jetz steh ich total aufm schlauch
ich hab eine datei, ca. 6 M groß, die ich zeile für zeile lese und versclüssele, die verschlüsselten strings schreibe ich in eine andere datei
soweit so gut, aber ich bekomm das nich richtig wieder entschlüsselt .... weiß der geier warum *kopfzerbrech*
hier mal die verschlüsselung:
$key = substr(md5(""),0,24);
$td = mcrypt_module_open('tripledes', '', 'ecb', '');
$iv = mcrypt_create_iv (mcrypt_enc_get_iv_size($td), MCRYPT_RAND);
mcrypt_generic_init($td, $key, $iv);
$archiv=fopen($ordner."rtv_backup.dat","rb");
$neuarchiv=fopen($ordner."rtv_backup_scr.dat","wb");
while (!feof($archiv))
{
$zeile=fgets($archiv);
$zeile = mcrypt_generic($td, $zeile);
fwrite($neuarchiv,$zeile);
}
fclose($archiv);
fclose($neuarchiv);
mcrypt_generic_deinit($td);
mcrypt_module_close($td);
und hier die entschlüsselung:
$key_d = substr(md5(""),0,24);
$td = mcrypt_module_open('tripledes', '', 'ecb', '');
$iv = mcrypt_create_iv (mcrypt_enc_get_iv_size($td), MCRYPT_RAND);
mcrypt_generic_init($td, $key_d, $iv);
$archiv=fopen($ordner."rtv_backup.dat","rb");
$neuarchiv=fopen($ordner."rtv_backup_nor.dat","wb");
while (!feof($archiv))
{
$zeile=fgets($archiv);
$zeile = mdecrypt_generic($td, $zeile);
fwrite($neuarchiv,$zeile);
}
fclose($archiv);
fclose($neuarchiv);
rename($ordner."rtv_backup.dat",$ordner."rtv_backup_old.dat");
rename($ordner."rtv_backup_nor.dat",$ordner."rtv_backup.dat");
mcrypt_generic_deinit($td);
mcrypt_module_close($td);
beides passiert natürlich in verschiedenen php-dateien ....
das ganze läuft auf win2000pro mit php5
ich hoffe jemand weiß wo der fehler liegt ... oder muss man diesen IV mitspeichern und ihn wiederverwenden?
ich gebe zu ich steige da noch garnicht durch, das meiste is aus der doku kopiert und etwas angepasst .....
bin für hilfe seeeehr dankbar
bis denn dann
Moin!
soweit so gut, aber ich bekomm das nich richtig wieder entschlüsselt .... weiß der geier warum *kopfzerbrech*
Simpel:
Du liest eine Zeile ein, verschlüsselst sie (auch das Zeilenendezeichen) und schreibst sie in die neue Datei.
Dann liest du eine verschlüsselte Zeile ein.... und die hat eine ganz andere Länge, weil das Zeilenendezeichen nicht mehr dort ist, wo die unverschlüsselte Zeile ihres hatte.
Und schon kriegst du nur noch den ersten Teil der ersten Zeile wieder entschlüsselt.
- Sven Rautenberg
Simpel:
Du liest eine Zeile ein, verschlüsselst sie (auch das Zeilenendezeichen) und schreibst sie in die neue Datei.
aua daaas tut weh ...... und dann am besten binär einlesen ... und nich zeilenweise ...... ok danke, das hat gesessen, nun funktioniert es auch ;)
danke danke danke ;)