PHP加密/解密迅雷、快车和QQ旋风专用链接及中文乱码处理

精简实用9年前 (2016-12-21)19170

(1)解密方法
function decrypt($url_origin = null){
 $url = trim($url_origin);
 if ($url == null) return null;
 $count = preg_match("/(\w+):\/\//i", $url, $matches);
 if($count == 0 || $count == false){
  return $url_origin;
 }else{
  $type = strtolower($matches[1]);
 }
 $count = preg_match("/:\/\/([a-zA-Z0-9+\/]+={0,2})/i", $url, $matches);
 if($count == 0 || $count == false){
    return $url_origin;
 }else{
    $url = $matches[1];
 }
    switch ($type){
        case "thunder":
            $url = base64_decode($url);
            $count = preg_match("/^AA(.+)ZZ$/i", $url, $matches);
            if($count == 0 || $count == false){
                return $url_origin;
            }else{
                $url = $matches[1];
            }
        break;
        case "flashget":
            $url = base64_decode($url);
            $count = preg_match("/\[FLASHGET\](.+)\[FLASHGET\]/i", $url, $matches);
            if($count == 0 || $count == false){
                return $url_origin;
            }else{
                $url = $matches[1];
            }
        break;
        case "qqdl":
            $url = base64_decode($url);
        break;
        default:
            return $url_origin;
    }
 return $url;
}
用法实例:
$url = 'thunder://QUFmdHA6Ly9kczpkc0BkNy4ydHUuY2M6NTAwNTAvW9G4wNfPwtTYd3d3LnhpYW1wNC5jb21dx+BZ1r4wMS4xMjgwuN/H5c60yb689bDmLm1wNFpa';
$deurl = decrypt($url);
$deurl = iconv("GBK","UTF-8",$deurl);//若中文有乱码需要这行代码转编码
(2)解密方法
function encrypt($url = null, $type = "thunder"){
 $types = array("thunder", "flashget", "qqdl");
 $type = strtolower($type);
 $url = trim($url);
 if ($url == null) return null;
 if (false == array_search($type, $types)) $type = "thunder";
 switch ($type){
  case "thunder":
   $url = "thunder://" . base64_encode("AA".$url."ZZ");
   break;
  case "flashget":
   $url = "flashget://" . base64_encode("[FLASHGET]".$url."[FLASHGET]") . "&bao";
   break;
  case "qqdl":
   $url = "qqdl://" . base64_encode($url);
   break;
 }
 return $url;
}

发表评论

访客

看不清,换一张

◎欢迎参与讨论,请在这里发表您的看法和观点。