• php-url地址加密


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

    以下是代码片段:

     1 <?php  
     2 function keyED($txt,$encrypt_key) //定义一个keyED  
     3 {         
     4     $encrypt_key =    md5($encrypt_key);  
     5     $ctr=0;         
     6     $tmp = '';         
     7     for($i=0;$i<strlen($txt);$i++)         
     8     {             
     9         if ($ctr==strlen($encrypt_key))  
    10         $ctr=0;             
    11         $tmp.= substr($txt,$i,1) ^ substr($encrypt_key,$ctr,1);  
    12         $ctr++;         
    13     }         
    14     return $tmp;     
    15 }      
    16 function encrypt($txt,$key)     
    17 {  
    18     $encrypt_key = md5(mt_rand(0,100));  
    19     $ctr=0;         
    20     $tmp = '';        
    21      for ($i=0;$i<strlen($txt);$i++)         
    22      {  
    23         if ($ctr==strlen($encrypt_key))  
    24             $ctr=0;             
    25         $tmp.=substr($encrypt_key,$ctr,1) . (substr($txt,$i,1) ^ substr($encrypt_key,$ctr,1));  
    26         $ctr++;         
    27      }         
    28      return keyED($tmp,$key);  
    29 }      
    30 function decrypt($txt,$key)  
    31 {         
    32     $txt = keyED($txt,$key);         
    33     $tmp = '';         
    34     for($i=0;$i<strlen($txt);$i++)         
    35     {             
    36         $md5 = substr($txt,$i,1);  
    37         $i++;             
    38         $tmp.= (substr($txt,$i,1) ^ $md5);         
    39     }         
    40     return $tmp;  
    41 }  
    42 function encrypt_url($url,$key)  
    43 {  
    44     return rawurlencode(base64_encode(encrypt($url,$key)));  
    45 }  
    46 function decrypt_url($url,$key)  
    47 {  
    48     return decrypt(base64_decode(rawurldecode($url)),$key);  
    49 }  
    50 function geturl($str,$key)  
    51 {  
    52     $str = decrypt_url($str,$key);  
    53     $url_array = explode('&',$str);  
    54     if (is_array($url_array))  
    55     {  
    56         foreach ($url_array as $var)  
    57         {  
    58             $var_array = explode('=',$var);  
    59             $vars[$var_array[0]]=$var_array[1];  
    60         }  
    61     }  
    62     return $vars;  
    63 }  
    64 ?>

    下面是函数调用的实例

    以下是代码片段:

     1 $key = "key";  
     2 //生产加密参数地址  
     3 for ($i=0;$i<10;$i++)  
     4 {  
     5     $url=encrypt_url('id=$i&sdf=asdf',$key);
     6     echo "<a href=?url=".$url.">php技术文章$i</a><br>";      
     7 }      
     8 //获取参数地址  
     9 $get = geturl($_GET['url'],$key);  
    10 var_dump($get);
  • 相关阅读:
    Unity Shader _Time 的单位
    egg-sequelize 实现 增删改查
    Eggjs 联表查询
    Eggjs 菜单权限管理
    Eggjs 角色管理 -- 对角色树进行 增删改查
    Egg.js 实现一维的对象数组转化为树形数组
    Egg.js 中 Session 的设置和获取
    Egg.js 中 Cookie 的设置和获取
    Egg 安全机制 CSRF 的防范
    Egg middleware 中间件
  • 原文地址:https://www.cnblogs.com/luojianqun/p/4401469.html
Copyright © 2020-2023  润新知