
Ich muss mal wieder die netten PHP Genies mit einer Frage "nerven".

Ich biete in meinem Forum u.a. die Verschlüsselung der PNs an (Private Message Encryption and Decryption). Das funktioniert bis auf zwei Unschönheiten auch bestens. Eine dieser Unschönheiten betrifft diese Fehlermeldung, wenn beim entschlüsseln vergessen wird das PW einzugeben:
Das betrifft die Zeile:PHP Warning: pack(): Type H: illegal hex digit y in ...\privmsg.php on line 690
Code: Alles auswählen
$decrypted_message = trim(mcrypt_decrypt($cipher_alg, $encryption_key, pack("H*", $decrypted_message), MCRYPT_MODE_CFB, "$iv"));
Code: Alles auswählen
if ( $decrypt )
{
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ü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"));
$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);
}
Code: Alles auswählen
$decrypted_message = trim(mcrypt_decrypt($cipher_alg, $encryption_key, @pack("H*", $decrypted_message), MCRYPT_MODE_CFB, "$iv"));
Bye