Hallo,
habe folgende Codeschnipsel in meinem Code die Passwörter verschlüsseln soll.
Code:
$td = mcrypt_module_open (MCRYPT_TripleDES, "", MCRYPT_MODE_ECB, "");
$iv = mcrypt_create_iv (mcrypt_enc_get_iv_size ($td), MCRYPT_RAND);
mcrypt_generic_init ($td, $CRYPTKEY, $iv);
$encrypted_data = mcrypt_generic ($td, $input);
mcrypt_generic_deinit ($td);
return $encrypted_data;
Das funktioniert auch super.
Leider ist jetzt doch ein Fehler aufgetreten. Das TribleDES generiert bei irgendeiner Zeichenfolge ein "
Wenn mann dann ein SQL befehl generiert der das Passwort
in die DB schreibt und mitten im Passwort auf das " stößt, denkt die DB der Eintrag wäre zu Ende .
Bsp :
$sql="Insert INTO Tblbenutzer Username='TESTUSER', Passwort ='/83jddfh"urf83';";
Jetzt bekomme ich logischerweise eine Fehlermeldung da inmitten ein " steckt.
Gibts da ne saubere Lösung? Vieleicht kann man MCrypt sagen das es ein paar Zeichen nicht nutzen soll.
Gruss,
Werner