龙盟编程博客 | 无障碍搜索 | 云盘搜索神器
快速搜索
主页 > web编程 > php编程 >

PHP 迅雷、快车和QQ旋风专用链接加解密

时间:2015-04-01 15:50来源:网络整理 作者:网络 点击:
分享到:
迅雷、快车和QQ旋风专用链接加解密 本程序适用于迅雷、快车和QQ旋风专用链接加解密,其他的暂未支持。更新日志2011-12-18程序第一次完成2011-12-26修改功能,严格解密迅雷和快车专用链

本程序适用于迅雷、快车和QQ旋风专用链接加解密,其他的暂未支持。更新日志2011-12-18程序第一次完成2011-12-26修改功能,严格解密迅雷和快车专 用链接

spelink.php

<?php
/**
*专用链接加解密
* 本程序适用于迅雷、快车和QQ旋风专用链接加解密,其他的暂未支持。程序较简单,有PHP基础的一看就明白。
*@author bao
*@email about008@gmail.com
*@date 2011-12-18
*@update 2011-12-26
*@version 0.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;
}

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;
}
?>

<html>
<head>
<title>专用链接加解密</title>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<style type="text/css">
body{
    text-align:center;
    padding-top:50px;
}
#tb{
    background-color:green;
    margin:10px auto;
}
#result{
    text-align:left;
    width:60%;
    margin:10px auto;
}
</style>
</head>
<body>
    <div id="link">
        <form action="<?php echo $_SERVER['PHP_SELF']; ?>" method="POST" >
            <table id="tb">
            <tr><td>链接</td><td colspan=2><textarea rows=3 name="url"></textarea></td></tr>
            <tr><td ><input type="radio" name="endecode" value="decode" id="decode" checked><label for="decode">解密</label></td><td><input type="radio" name="endecode" value="encode" id="encode"><label for="encode">加密</label></td><td></td></tr>
            <tr><td><input type="radio" name="type" value="thunder" checked>迅雷</td><td><input type="radio" name="type" value="flashget">快车</td><td><input type="radio" name="type" value="qqdl">QQ旋风</td></tr>
            <tr><td><input type="submit" name="submit" value="确定"></td><td><input type="reset" name="reset"></td><td></td></tr>
            </table>
        </form>
    </div>
    <div id = "result">
    <?php
    if(isset($_POST['endecode']) && isset($_POST['type']) && isset($_POST['url'])){
        $url = $_POST['url'];
        $type = $_POST['type'];
        $endecode = $_POST['endecode'];
        if($endecode == "decode"){
            $url2 = decrypt($url);
            echo "<p>解密前的地址: $url </p>";
            echo "<p>解密后的地址: $url2 </p>";
        }elseif($endecode == "encode"){
            $url2 = encrypt($url,$type);
            echo "<p>加密前的地址: $url </p>";
            echo "<p>加密后的地址: $url2 </p>";
        }
    }
    ?>
    </div>
</body>
</html>

spelink.jpg

imgs/asCode/26061812_5CeT.jpg
精彩图集

赞助商链接