url加密

最近看了一个url加密的方法,觉得不错,就记下来了。http://www.xiaocai.name/emlog/post/43

 

class PageBase extends Model {

  /**
   * URL参数加密
   * (CI的加密类会生成"="字符不利于URL参数传递)
   * @param string $str 待加密字符串
   * @return string
   */
  function Urlencode($str){
    $str = base64_encode($str);
    $str .=$this->randStr(5);
    $str = base64_encode($str);
    $str = $this->randStr(2).$str;
    return $str;
  }
  
  /**
   * URL参数解密
   *
   * @param string $str 待解密字符串
   * @return unknown
   */
  function Urldecode($str){
    $len = strlen($str);
    $str = substr($str,2,$len-2);
    $str = base64_decode($str);
    $str = substr($str,0,$len-5);
    $str = base64_decode($str);
    return $str;
  }
  //加密密匙
  function randStr($len){
   $key = "miss339742811_163.com";//密匙
   return substr(str_shuffle($key),0,$len);
  }

 }

 

$this->PageBase->Urlencode($_GET['name_id']);

$this->PageBase->Urldecode("xiaocai");

你可能感兴趣的:(url加密)