加载中…
个人资料
火狐
火狐
  • 博客等级:
  • 博客积分:0
  • 博客访问:32,603
  • 关注人气:2
  • 获赠金笔:0支
  • 赠出金笔:0支
  • 荣誉徽章:
相关博文
推荐博文
谁看过这篇博文
加载中…
正文 字体大小:

url地址參數加密

(2007-02-14 12:37:17)
分类: PHP
<?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,1substr($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,1substr($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);
?>

0

阅读 评论 收藏 转载 喜欢 打印举报/Report
  • 评论加载中,请稍候...
发评论

    发评论

    以上网友发言只代表其个人观点,不代表新浪网的观点或立场。

      

    新浪BLOG意见反馈留言板 电话:4000520066 提示音后按1键(按当地市话标准计费) 欢迎批评指正

    新浪简介 | About Sina | 广告服务 | 联系我们 | 招聘信息 | 网站律师 | SINA English | 会员注册 | 产品答疑

    新浪公司 版权所有