码迷,mamicode.com
首页 > Web开发 > 详细

php开发中的url地址传输加密解密函数

时间:2015-07-15 16:33:02      阅读:539      评论:0      收藏:0      [点我收藏+]

标签:

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;  
}
// 加密url参数
function encrypt_url($url,$key)  
{  
    return rawurlencode(base64_encode(encrypt($url,$key)));  
}
// 解密url参数
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=./url.php?url=".encrypt_url("id=$i&act=123456&time=".time(),$key).">php技术文章$i</a><br>";
}

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

 

php开发中的url地址传输加密解密函数

标签:

原文地址:http://www.cnblogs.com/phpfensi/p/4648464.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!