如果使用url encoding / urldecoding和.htaccess文件进行加密,如何生成令牌。
我也启用了.htaccess,它遇到了这个网址上提到的javascript / php通信问题。 http://www.tequilafish.com/2007/12/06/mod_rewrite-php-how-to-match-urlencoded-plus-sign/
根据帖子的建议,由于前端系统不在我的控制之下,我不能两次urlencode,
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.+)$ index.php?uri=$1 [QSA,L]
class Crypt {
public static function encrypt($data, $secret) {
$iv_size = mcrypt_get_iv_size(MCRYPT_RIJNDAEL_128, MCRYPT_MODE_CBC);
$iv = mcrypt_create_iv($iv_size, MCRYPT_RAND);
$key = pack('H*', $secret);
return base64_encode($iv . mcrypt_encrypt(MCRYPT_RIJNDAEL_128, $key, $data, MCRYPT_MODE_CBC, $iv));
}
public static function decrypt($data, $secret) {
$data = base64_decode($data);
$iv_size = mcrypt_get_iv_size(MCRYPT_RIJNDAEL_128, MCRYPT_MODE_CBC);
$iv = substr($data, 0, $iv_size);
$data = substr($data, $iv_size);
$key = pack('H*', $secret);
return trim(mcrypt_decrypt(MCRYPT_RIJNDAEL_128, $key, $data, MCRYPT_MODE_CBC, $iv), chr(0));
}
}
答案 0 :(得分:0)
如果你想在url中发送数据,那么你必须使用urlencode以及你在哪里获得数据urldecode。使用urlencode删除所有空格和空格字符和urldecode,您将获得真实数据
示例:
$ abc = urlencode($ abc);
然后将其发送到网址
redirec:authToken encryption with urlencoding/urldecoding and .htaccess issue $ abc
我认为你得到了它:)