当实际字符串不通过POST或GET url传输时,我可以很容易地对URL进行编码和解码,只能使用函数中传递的静态字符串。
我需要发送一些带有一些静态信息的编码字符串,比如
http://somedomain.com/testfolder/test.php?tracking_url='?someotherdomain.com ID = 10&安培;为test_id = 50'&安培; click_id = 60
我使用以下代码,如下所示
<?php
class test{
public static function simple_encrypt($text)
{
$salt ='whatever_you_want';
return trim(base64_encode(mcrypt_encrypt(MCRYPT_RIJNDAEL_256, $salt, $text, MCRYPT_MODE_ECB, mcrypt_create_iv(mcrypt_get_iv_size(MCRYPT_RIJNDAEL_256, MCRYPT_MODE_ECB), MCRYPT_RAND))));
}
public static function simple_decrypt($text)
{
$salt ='whatever_you_want';
return trim(mcrypt_decrypt(MCRYPT_RIJNDAEL_256, $salt, base64_decode($text), MCRYPT_MODE_ECB, mcrypt_create_iv(mcrypt_get_iv_size(MCRYPT_RIJNDAEL_256, MCRYPT_MODE_ECB), MCRYPT_RAND)));
}
}
echo $test =test::simple_encrypt("http://somedomain.com/testfolder/test.php?tracking_url='someotherdomain.com?id=10&test_id=50'&click_id=60");
echo "<br/>";
echo test::simple_decrypt($test);
?>
如果我将编码的字符串作为静态传递,上面的代码是完美的
像
echo test :: simple_decrypt($ test);
我得到了回击:
http://somedomain.com/testfolder/test.php?tracking_url=&#39;?someotherdomain.com ID = 10&安培;为test_id = 50&#39;&安培; click_id = 60
但我需要通过url获取编码的字符串 比我需要获取tracking_url和编码的字符串。
感谢