
Hier gleich noch eine Frage zum "Private Message Encryption and Decryption" Mod.
Wenn der Cursor im Passwordfeld ist und dann einfach auf "Enter" gedrückt wird, wird nicht der Befehl "verschlüsseln und absenden" ausgeführt, sondern man landet wieder in der PN Übersicht.
Welcher Code ist dafür verantwortlich bzw. muss wie aussehen damit es korrekt funktioniert:
Code: Alles auswählen
<!-- BEGIN switch_privmsg -->
<span style="margin-left: 50px; font-size: 80%">Password: </span>
<input type="password" tabindex="7" class="post" name="encryption_key" size="16" maxlength="15" />
<input type="submit" tabindex="8" name="encrypt" class="mainoption" value="verschlüsseln & Absenden" />
<!-- END switch_privmsg -->
Code: Alles auswählen
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);
}
Code: Alles auswählen
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 . "')";
}
