Я сделал методы шифрования / дешифрования, основанные на этой модели
// encrypt:
base64_encode(mcrypt_encrypt(MCRYPT_RIJNDAEL_256, md5($key),
$string, MCRYPT_MODE_CBC, md5(md5($key))))
//decrypt:
rtrim(mcrypt_decrypt(MCRYPT_RIJNDAEL_256, md5($key),
base64_decode($encrypted), MCRYPT_MODE_CBC, md5(md5($key))), "\0");
внутри одной страницы все работает, так что
decrypt(encrypt ('hello',$key))
хорошо работает,
но когда я отправляю ссылку:
echo "http://link.here?data=".urlencode(encrypt(('hello',$key)));
на другой странице получения I:
decrypt(urldecode($_GET['data']),$key));
У меня беспорядок.
Я замечаю, что с расшифрованным сообщением происходит ОЧЕНЬ странно.
Я зашифровал '72', затем прочитал его и расшифровал.
Я заметил что-то очень странное, когда я проверял это с is_numeric()
... Это не отвечало ни на истину, ни на ложь !! что-то странное происходило ....
Итак, я проверил с strlen
, и результат был ... 4!
Я подумал, что что-то случилось с байтами, но я понятия не имею, что это может быть.
Я пытаюсь передать номер через тело электронной почты, и я пытаюсь заставить его работать,
любая помощь будет оценена.