Hallo.
Habe ein Problem mit dem mcrypt-Modul. Das Problem tritt unregelmäßig auf,
lässt sich aber doch wenigstens gewissermaßen eingrenzen. Also:
Ich verwende mcrypt um Passwörter mit BLOWFISH zu verschlüsseln. Der
Login-Vorgang meiner Seite sieht aus, dass ich das eingegebene Passwort mit
BLOWFISH verschlüssele und mit dem in der DB vergleiche (die Passwörter sind
zusätzlich mit base64 verschlüsselt, um evtl. Steuerzeichen zu verhindern).
Dies funktioniert!
Mein Problem: Wird mein Login mit Anfragen "überschwemmt", steigt das Skript
beim x-ten Aufruf aus, und zwar genau beim Laden des mcrypt-Moduls.
Hier der Code den ich zum encrypten verwende (habe auch verschiedene andere
Varianten probiert) :
$key = "blub";
$data = trim($data); // Steuerzeichen entfernen
$td = mcrypt_module_open(MCRYPT_BLOWFISH,"",MCRYPT_MODE_ECB,"");
$iv = mcrypt_create_iv(mcrypt_enc_get_iv_size($td),MCRYPT_ENCRYPT);
// MCRYPT_DEV_RANDOM
$result =
mcrypt_encrypt(MCRYPT_BLOWFISH,$key,$data,MCRYPT_MODE_ECB,$iv);
mcrypt_module_close($td);
Eine weitere nützliche Information wäre eventuell dass das Scheitern beim
Laden des mcrypt-Moduls von der Performanz des betreffenden
Servers abhängt. Bsp: Auf einer 900Mhz - Maschine steigt er beim dritten
"Neuladen" des Moduls aus. Auf einer 1,5Ghz Maschine bedarf
es etwa 10mal. Betriebssystem auf beiden Servern: SUSE Linux 9.2.
Ausserdem ist zu erwähnen, das weder ein Fehler ausgegeben, noch irgendwo
mitgeloggt wird, sei es in der error_log des Apache oder in
den Logs des Systems, nichts einfach nichts.
Habe ausserdem auch probiert andere Ciphers zu verwenden, bringt nix!
Hoffe mir kann umgehend jemand weiterhelfen.
MfG
c.klein