雨林木风的115网盘的ID加密算法,有高手知道怎么做吗?

ImFantasy 2010-02-26 11:16:42
http://u.115.com/file/t01bfa26e7

类似这样.


t01bfa26e7 是这个文件的id
...全文
235 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
ImFantasy 2010-03-15
  • 打赏
  • 举报
回复
你这个会重复吗?
heyli 2010-03-13
  • 打赏
  • 举报
回复
可能自己写的加密算法 也能可能是常见的md5什么
要是对这个有兴趣 google一下url加密 有很多的例子
用的是编码也不一定 比如 urlencode()
简单的如 base64_en()加密

<?php
function keyED($txt,$encrypt_key) '定义一个keyED
{
$encrypt_key = md5($encrypt_key);
$ctr=0;
$tmp = "";
for($i=0;$i<strlen($txt);$i++)
{
if ($ctr==strlen($encrypt_key))
$ctr=0;
$tmp.= substr($txt,$i,1) ^ substr($encrypt_key,$ctr,1);
$ctr++;
}
return $tmp;
}
function encrypt($txt,$key)
{
$encrypt_key = md5(mt_rand(0,100));
$ctr=0;
$tmp = "";
for ($i=0;$i<strlen($txt);$i++)
{
if ($ctr==strlen($encrypt_key))
$ctr=0;
$tmp.=substr($encrypt_key,$ctr,1) . (substr($txt,$i,1) ^ substr($encrypt_key,$ctr,1));
$ctr++;
}
return keyED($tmp,$key);
}
function decrypt($txt,$key)
{
$txt = keyED($txt,$key);
$tmp = "";
for($i=0;$i<strlen($txt);$i++)
{
$md5 = substr($txt,$i,1);
$i++;
$tmp.= (substr($txt,$i,1) ^ $md5);
}
return $tmp;
}
function encrypt_url($url,$key)
{
return rawurlencode(base64_encode(encrypt($url,$key)));
}
function decrypt_url($url,$key)
{
return decrypt(base64_decode(rawurldecode($url)),$key);
}
function geturl($str,$key)
{
$str = decrypt_url($str,$key);
$url_array = explode('&',$str);
if (is_array($url_array))
{
foreach ($url_array as $var)
{
$var_array = explode("=",$var);
$vars[$var_array[0]]=$var_array[1];
}
}
return $vars;
}
?>




//下面是函数调用的实例

//以下是代码片段:




<?
$key = 'key';

//生产加密参数地址
for ($i=0;$i<10;$i++)
{
echo "<a href=./deurl.php?url=".encrypt_url("id=$i&sdf=asdf& time=".time(),$key).">php技术文章$i</a><br>";
}

//获取参数地址
$get = geturl($_GET['url'],$key);
var_dump($get);

?>
ImFantasy 2010-03-13
  • 打赏
  • 举报
回复
无语!
  • 打赏
  • 举报
回复
随机的rand 数吧,不然怎么算呢。

21,889

社区成员

发帖
与我相关
我的任务
社区描述
从PHP安装配置,PHP入门,PHP基础到PHP应用
社区管理员
  • 基础编程社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧