本站为一个技术型PHP个人门户站,提供一些代码,技术文章、免费空间消息信息、让学习编程更轻松和不要钱买空间更方便-PHP小戴
你当前的位置:首页>>技术文章>>php技术文章

如何加密url参数地址php

  •  

    下面是可以将我们的url地址加密.确保我们提交的数据安全

    以下是代码片段:

    <?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);

    ?>

    OK就可以就加密了.....


  • [时间:2009-01-06 19:35:56][点击:]

  • 上下篇文章加载中...
本站关键字:宁波网络公司/宁波网站建设公司/宁波网站制作公司/宁波做网站公司