On Nov 30, 2011, at 5:13 PM, Matijn Woudt wrote:
Your decrypt function seems fine, and the encrypt/decrypt functions
work fine both in the same file for me. Now you say you use
$_GET["myval"], which means you get them from URL. Base64 is not URL
safe, have you used urlencode()?
Matijn
OK, the problem appears to be that my string encoded contains a +
symbol:
Sw+ht0agaQRBpFlfHSucpYZ....
So I rawurlencode it and if I echo it out, it appears correctly on the
page as:
Sw%2Bht0agaQRBpFlfHSucpYZ ....
BUT... when I pass this encrypted value off to PayPal (I'm integrating
with them), encoded, when they return me to my site, instead of
passing me my value as above, they are somehow decoding back to the
original:
Sw+ht0agaQRBpFlfHSucpYZ....
As I can see it in the URL. The + symbol is then interpretted as a
space instead of + symbol and a result, my decrypt function fails.
So I send off the encrypted value encoded to PayPal but when they go
to redirect back to my site after payment has been made, instead of
the url with Sw%2Bht0agaQRBpFlfHSucpYZ .... in it, they are decoding
it so my url contains Sw+ht0agaQRBpFlfHSucpYZ.... which causes me
problems.
Is there alternative encrypting scheme that will not need url encoding
(so I can be sure the passed url back from PayPal is ok as is)?
--Rick
--
PHP General Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php