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

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

时间:2014-07-22 14:51来源: 作者: 点击:
分享到:
本程序适用于迅雷、快车和QQ旋风专用链接加解密,其他的暂未支持。br / 更新日志br / div 2011-12-18 br / 程序第一次完成/div div 2011-12-26/div div 修改功能,严格解密迅雷和快车专用链接/div
本程序适用于迅雷、快车和QQ旋风专用链接加解密,其他的暂未支持。
更新日志
2011-12-18
程序第一次完成
2011-12-26
修改功能,严格解密迅雷和快车专用链接

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



2. [图片] spelink.jpg    

精彩图集

赞助商链接