dengwen3 发表于 2017-3-26 15:01:32

php-url地址加密

  下面是可以将我们的url地址加密.确保我们提交的数据安全
  以下是代码片段:
  <?phpfunction keyED($txt,$encrypt_key) //定义一个keyED{       $encrypt_key =    md5($encrypt_key);$ctr=0;       $tmp = '';       for($i=0;$i<strlen($txt);$i++)       {         if ($ctr==strlen($encrypt_key))$ctr=0;         $tmp.= substr($txt,$i,1) ^ substr($encrypt_key,$ctr,1);$ctr++;       }       return $tmp;   }    function encrypt($txt,$key)   {$encrypt_key = md5(mt_rand(0,100));$ctr=0;       $tmp = '';      for ($i=0;$i<strlen($txt);$i++)       {if ($ctr==strlen($encrypt_key))$ctr=0;         $tmp.=substr($encrypt_key,$ctr,1) . (substr($txt,$i,1) ^ substr($encrypt_key,$ctr,1));$ctr++;       }       return keyED($tmp,$key);}    function decrypt($txt,$key){       $txt = keyED($txt,$key);       $tmp = '';       for($i=0;$i<strlen($txt);$i++)       {         $md5 = substr($txt,$i,1);$i++;         $tmp.= (substr($txt,$i,1) ^ $md5);       }       return $tmp;}function encrypt_url($url,$key){return rawurlencode(base64_encode(encrypt($url,$key)));}function decrypt_url($url,$key){return decrypt(base64_decode(rawurldecode($url)),$key);}function geturl($str,$key){$str = decrypt_url($str,$key);$url_array = explode('&',$str);if (is_array($url_array)){foreach ($url_array as $var){$var_array = explode('=',$var);$vars[$var_array]=$var_array;}}return $vars;}?>
  下面是函数调用的实例
  以下是代码片段:
  $key = "key";//生产加密参数地址for ($i=0;$i<10;$i++){echo "<a href="?url=" mce_href="?url="".encrypt_url("id=$i&sdf=asdf& time=".time(),$key).">php技术文章$i</a><br>"; }//获取参数地址$get = geturl($_GET['url'],$key);var_dump($get);
页: [1]
查看完整版本: php-url地址加密