PN encryption - unvollständiges entschlüsseln?

Du hast Probleme beim Einbau oder bei der Benutzung eines Mods? In diesem Forum bist du richtig.
Forumsregeln
phpBB 2.0 hat das Ende seiner Lebenszeit überschritten
phpBB 2.0 wird nicht mehr aktiv unterstützt. Insbesondere werden - auch bei Sicherheitslücken - keine Patches mehr bereitgestellt. Der Einsatz von phpBB 2.0 erfolgt daher auf eigene Gefahr. Wir empfehlen einen Umstieg auf phpBB 3.0, welches aktiv weiterentwickelt wird und für welches regelmäßig Updates zur Verfügung gestellt werden.
Antworten
Benutzeravatar
Dungeonwatcher
Mitglied
Beiträge: 635
Registriert: 11.07.2004 10:04
Wohnort: Berlin

PN encryption - unvollständiges entschlüsseln?

Beitrag von Dungeonwatcher »

Moin! 8)

Wie in einem anderen Thema bereits geschrieben steht, habe ich den Private Message Encryption and Decryption in Benutzung. Bei diesem ansonst genialen Mod habe ich jedoch noch einen nervigen Schönheitsfehler. Dieser besteht darin, das verschlüsselte PNs nur unvollständig entschlüsselt werden. :-?

Zum verschlüsseln dient dieser Codeblock:

Code: Alles auswählen

			if ( $encrypt )
			{
				srand((double) microtime() * 1000000);
				$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&uuml;sselte Nachricht zu lesen, gebe das Passwort unten rechts ein und klicke dann auf den Button \"Nachricht entschl&uuml;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 . "')";
			}
und zum entschlüsseln dieser:

Code: Alles auswählen

	if ( $decrypt )
	{
		if ( ! empty($encryption_key) )
		{
			srand((double) microtime() * 1000000);
			$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&uuml;sselte Nachricht zu lesen, gebe das Passwort unten rechts ein und klicke dann auf den Button \"Nachricht entschl&uuml;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"));
			$decrypted_message = stripslashes($decrypted_message);
			$private_message = str_replace("\r\n", "<br />", $decrypted_message);
			$decrypted_message = str_replace("\"", """, $decrypted_message);
			$decrypted_message = stripslashes($decrypted_message);
		}
		else if ( empty($encryption_key) )
		{
			$error = TRUE;
			$error_msg .= ( ( !empty($error_msg) ) ? '<br />' : '' ) . $lang['Empty_decryption_key'];

			$template->set_filenames(array(
				'reg_header' => 'error_body.tpl')
			);
			$template->assign_vars(array(
				'ERROR_MESSAGE' => $error_msg)
			);
			$template->assign_var_from_handle('ERROR_BOX', 'reg_header');
		}
	}
Seit Monaten suche ich schon die Ursache für dieses Verhalten, habe aber nicht die geringste Idee woran es liegen könnte. :-?

Es wäre super nett wenn sich mal einer der hiesigen PHP Profis dies anschauen würde. THNX

Bye
Antworten

Zurück zu „phpBB 2.0: Mod Support“