Apr
11

URL地址参数加密     2009

 09:36    568    0   noel 程序 代码 源码 不指定 | |
url地址参数加密

<?php
function keyED($txt,$encrypt_key)    
{        
    $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).">文章$i</a><br>";
}

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

?>

作者:noel@淘宝网女装新款秋装连衣裙裤子外套上衣_2012时尚女装新款 Ecmall二次开发-PHP技术
地址:http://www.laohucheng.com/post/287/
版权所有©转载时必须以链接形式注明作者和原始出处及本声明!

Tags: , 引用(0)
发表评论
昵称 [注册]
密码 游客无需密码
网址
电邮
打开HTML 打开UBB 打开表情 隐藏 记住我