PHP отправляет зашифрованные данные через URL

Я пытаюсь отправить зашифрованные данные через URL на другой сайт (используяfile_get_contents("anotherUrl.php?hash=$encryptedString"), Проблема в том, что иногда шифрование содержит некоторые специальные символы, такие как +, и это приводит к сбою дешифрования.

Вот мои методы шифрования / дешифрования:

public function encrypt($string, $key)
{
    return base64_encode(mcrypt_encrypt(MCRYPT_RIJNDAEL_256, md5($key), $string, MCRYPT_MODE_CBC, md5(md5($key))));
}

public function decrypt($encrypted, $key)
{
    return rtrim(mcrypt_decrypt(MCRYPT_RIJNDAEL_256, md5($key), base64_decode($encrypted), MCRYPT_MODE_CBC, md5(md5($key))), "\0");
}

Вот пример зашифрованной строки, которая содержит+и я предполагаю, что это приводит к сбою расшифровки.

oWCrVPaS+5GbxcQFc0fulUk/zRAkDD60av4zlPiWskE=

Есть идеи, как мне это решить? Я пытался сделатьurlencode() а такжеurldecode() на хэш, однако это также, кажется, вызывает шифрование. Есть ли способ изменить алгоритм шифрования, чтобы он возвращал только безопасные символы URL?

Ответы на вопрос(3)

Ваш ответ на вопрос