6:迅雷、QQ旋风地址的Base64编码(加解密、签名系列)

  • • 发表于 8年前
  • • 作者 Roluce
  • • 3718 人浏览
  • • 0 条评论
  • • 最后编辑时间 8年前
  • • 来自 [技 术]

原创声明:本文为作者原创,未经允许不得转载,经授权转载需注明作者和出处

1:Base64

Base64是网络上最常见的用于字节代码的编码方式之一(一个字母就是一字节byte)
采用Base64编码具有不可读性,即所编码的数据不会被人用肉眼所直接看到。
Base64编码非常适合HTTP环境下传递较长的标识信息(传输8Bit字节代码)

其他应用程序中,也常常需要把二进制数据编码为适合放在URL中的形式


迅雷地址的编码

“迅雷专用地址”就是用Base64”加密”的,其过程如下:

1、在http://地址的前后分别添加AA和ZZ
2、对新的字符串进行Base64编码,把迅雷地址还原为http地址,只需要用Base64解码,然后去掉头尾的AA和ZZ即可。


QQ旋风地址的编码

更简单,不加任何字符,直接就对地址进行Base64编码了


2:代码运行演示

此代码在php环境,可直接运行。


3:php代码

<?php
$txt1=trim($_POST['text1']);
 $txt3=trim($_POST['text3']);
$button=$_POST['button'];
?>

<!DOCTYPEHTMLPUBLIC"-//W3C//DTDHTML4.0Transitional//EN">
<html>
<head>
<title>迅雷和FlashGet,QQ旋风地址地址转换工具</title>
<meta http-equiv="Content-Type" content="text/html;charset=gb2312">
<meta content="迅雷,FlashGet,地址转换," name="keywords">
</head>
<body>


<form name="form1"method="post"action=""> 
<hr size="1">
<h3>迅雷转换</h3>
<P>
    转换地址: <input name="text1" value="<?php echo$txt1; ?>" type="text" style="width:516px;"/>
</P>

<P>转换后的: <input type="text"value="
<?php
    if($button=="普通地址->迅雷地址") echo "thunder://".base64_encode("AA".$txt1."ZZ");
    if($button=="迅雷地址->普通地址") echo  substr(base64_decode(str_ireplace("thunder://","",$txt1)),2,-2);
?>
        "style="width:516px;"/>
</P>

<P> 
    <input type="submit" name="button" value="普通地址->迅雷地址" /> 
    <input type="submit" name="button" value="迅雷地址->普通地址" />
</P>


<h3>QQ旋风转换</h3>
<P>
    QQ旋风地址: <input name="text3" value="<?php echo $txt3; ?> " type="text" style="width:516px;"/>
</P>
<P>转换后地址: <input type="text"value="
<?php
    if($button=="普通地址->QQ旋风") echo"qqdl://".base64_encode($txt3);
    if($button=="QQ旋风->普通地址")echo base64_decode(str_ireplace("qqdl://","",$txt3));
?>
  "style="width:516px;"/>
</P>

<P> 
    <input type="submit" value="普通地址->QQ旋风" name="button" /> 
    <input type="submit" value="QQ旋风->普通地址" name="button"/>
</P>
</form>
</body>
</html>

注意:

下列代码仅在GBK中实现
UTF8代码,请把

if($button=="迅雷地址->普通地址") echo substr( base64_decode(str_ireplace("thunder://","",$txt1)),2,-2);

这句改为

if($button=="迅雷地址->普通地址") echo substr( mb_convert_encoding( base64_decode(str_ireplace("thunder://","",$txt1)) ) ,2,-2);

把charset=gb2312改为charset=utf-8

分享到:
0条评论
Ctrl+Enter
作者

Roluce

Roluce

APP:0 帖子:50 回复:112 积分:3610

已加入社区[2933]天

山东_聊城_qq:635068

作者详情》
Top