zoukankan      html  css  js  c++  java
  • 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);
  • 相关阅读:
    主流开源深度学习框架对比分析
    机器学习资源汇总----来自于tensorflow中文社区
    Caffe fine-tuning 微调网络
    最牛逼的开源机器学习框架,你知道几个
    基于OpenCL的深度学习工具:AMD MLP及其使用详解
    写作是这个时代最好的自我投资
    nanoporetech/nanonet
    nanonets
    有道添加词典
    一道算法
  • 原文地址:https://www.cnblogs.com/luojianqun/p/4401469.html
Copyright © 2011-2022 走看看