Dungeonwatcher
Mitglied
Ort: Berlin
Registriert: 08.11.2005
Beiträge: 126
|
|
Moin!
Wenn ich auf meiner Kiste Mails per PHP verschlüsseln lasse und sie anschließend wieder entschlüssel, wird aus den " leider immer ein \".
Ich kriege es einfach nicht gebacken das es auch nach dem entschlüsseln wieder ein " wird. Vielleicht hat ja einer der hiesigen Profis eine Idee. %-)
Hier mal die entsprechenden Codeschnipsel:
Code:
if ( $decrypt )
{
$cipher_alg = MCRYPT_RIJNDAEL_256;
$iv_size = mcrypt_get_iv_size(MCRYPT_RIJNDAEL_256, MCRYPT_MODE_ECB);
$iv = mcrypt_create_iv($iv_size, MCRYPT_RAND);
$key = "This is a very secret key";
$decrypted_message = str_replace("<b>Um diese verschlüsselte Nachricht zu lesen, gebe das Passwort unten rechts ein und klicke dann auf den Button \"Nachricht entschlüsseln\":</b>\n\n", "", $private_message);
$decrypted_message = str_replace("<br />", "", $decrypted_message);
$decrypted_message = trim(mcrypt_decrypt($cipher_alg, $encryption_key, pack("H*", $decrypted_message), MCRYPT_MODE_CFB, "$iv"));
$private_message = str_replace("\r\n", "<br />", $decrypted_message);
$decrypted_message = str_replace("\"", "\"", $decrypted_message);
} |
bzw.
Code:
if ($encrypt)
{
$cipher_alg = MCRYPT_RIJNDAEL_256;
$iv_size = mcrypt_get_iv_size(MCRYPT_RIJNDAEL_256, MCRYPT_MODE_ECB);
$iv = mcrypt_create_iv($iv_size, MCRYPT_RAND);
$key = "This is a very secret key";
$encrypted_message = str_replace("\\\"", "\"", $privmsg_message);
$encrypted_message = str_replace("\\'", "'", $encrypted_message);
$encrypted_message = str_replace("\\\\", "\\", $encrypted_message);
$encrypted_message = bin2hex(mcrypt_encrypt($cipher_alg, $encryption_key, $encrypted_message, MCRYPT_MODE_CFB, "$iv"));
$encrypted_message = wordwrap($encrypted_message, 80, "<br />", 1);
$encrypted_message = "<b>Um diese verschlüsselte Nachricht zu lesen, gebe das Passwort unten rechts ein und klicke dann auf den Button \"Nachricht entschlüsseln\":</b>\n\n" . $encrypted_message;
$sql = "INSERT INTO " . PRIVMSGS_TEXT_TABLE . " (privmsgs_text_id, privmsgs_bbcode_uid, privmsgs_text)
VALUES ($privmsg_sent_id, '" . $bbcode_uid . "', '" . $encrypted_message . "')";
} |
Erfolglos versucht habe ich schon dies:
Code:
$encrypted_message = str_replace('\\\"', '"', $privmsg_message); |
Damit wird zwar das gewünschte erreicht, nur zerlegt es gleichzeitig das Quoting in den Mails.
Die magic_quotes_ Einstellungen in der PHP.INI sehen aktuell so aus:
magic_quotes_gpc = On magic_quotes_runtime = On magic_quotes_sybase = Off
Ich habe auch schon mit diversen Varianten von on und off experimentiert, sie haben keinerlei Einfluss auf das Ergebnis.
Bye/2
_______________________________________ Dungeon-BBS MyMinicity (http://dungeon-bbs.myminicity.com/)
|
|
| 12.02.2007 09:39:25 |
| http://www.dungeon-bbs.de/forum/ |
 |
|
HTMELL
Administrator
Registriert: 11.05.2006
Beiträge: 654
|
|
|
| 12.02.2007 19:53:36 |
|
Dungeonwatcher
Mitglied
Ort: Berlin
Registriert: 08.11.2005
Beiträge: 126
|
|
Hi!
Ich hab's geahnt. :-/
Da muss ich wohl mal wieder um HILFE schreien, denn mir will der Syntax nicht in den Kopf. Ich will damit sagen, das ich Null Ahnung habe wie ich dies umsetzen müsste. %-)
Wer der hier Mitlesenden ist denn bereit den o.g. entsprechend zu ändern? ;-)
_______________________________________ Dungeon-BBS MyMinicity (http://dungeon-bbs.myminicity.com/)
|
|
| 12.02.2007 20:14:21 |
| http://www.dungeon-bbs.de/forum/ |
 |
|
Dungeonwatcher
Mitglied
Ort: Berlin
Registriert: 08.11.2005
Beiträge: 126
|
|
Hi!
Mittlerweile habe ich die Lösung dank eines netten Users gefunden:
statt
Code:
$private_message = str_replace("\r\n", "<br>", $decrypted_message); |
so
Code:
$decrypted_message = stripslashes($decrypted_message);
$private_message = str_replace("\r\n", "<br>", $decrypted_message); |
Bye
_______________________________________ Dungeon-BBS MyMinicity (http://dungeon-bbs.myminicity.com/)
|
|
| 23.09.2007 12:40:07 |
| http://www.dungeon-bbs.de/forum/ |
 |
|