php实现URL加密解密的方法

5年以前  |  阅读数:489 次  |  编程语言:PHP 

本文实例讲述了php实现URL加密解密的方法。分享给大家供大家参考,具体如下:


    <html xmlns="http://www.w3.org/1999/xhtml" lang="zh-CN">
    <head>
    <meta http-equiv="content-type" content="text/html; charset=gb2312" />
    <meta http-equiv="content-language" content="zh-CN" />
    <meta http-equiv="pragma" content="no-cache" />
    <meta http-equiv="expires" content="0" />
    <meta http-equiv="MSThemeCompatible" content="Yes" />
    <meta http-equiv="imagetoolbar" content="no" />
    <meta http-equiv="widow-target" content="_top" />
    <meta name="robots" content="index, follow" />
    <meta name="author" content="3945, [email]ljm77@km169.net[/email]" />
    <meta name="keywords" content="" />
    <meta name="description" content="" />
    <meta name="copyright" content="Copyright 3945 All Rights Reserved" />
    <title>无标题文档</title>
    <style type="text/css">
    <!--
    a, a:link{text-decoration: none; color:#000000; font-size:9pt;}   a:visited{text-decoration: none; color:#000000;}   a:hover{text-decoration: underline; color:red;}
    body, td, p, li, div, select{font-size:9pt; font-family:"宋体";}
    -->
    </style>
    </head>
    <body>
    <?php
    function query_encode($sQuery)
    {//加密链接
      if(strlen($sQuery)==0)
       {
         return '';
       }
       else
       {
        $s_tem = preg_replace("/&/i", '&', $sQuery);
        $s_tem = preg_replace("/&/i", '&', $s_tem);
        $a_tem = explode('&', $s_tem);
        shuffle($a_tem);
        $s_tem = implode('&', $a_tem);
        $s_tem = rawurlencode($s_tem);
        $s_tem = base64_encode($s_tem);
        $s_tem = strrev($s_tem);
         return $s_tem;
       }
    }
    function query_decode($sEncode)
    {//解密链接
      if(strlen($sEncode)==0)
       {
         return '';
       }
       else
       {
        $s_tem = strrev($sEncode);
        $s_tem = base64_decode($s_tem);
        $s_tem = rawurldecode($s_tem);
         return $s_tem;
       }
    }
    function rebuild_GET()
    {//重写$_GET全局变量
      $_GET = array();
      $s_query = $_SERVER['QUERY_STRING'];
       if(strlen($s_query)==0)
       {
         return;
       }
       else
       {
        $s_tem = query_decode($s_query);
        $a_tem = explode('&', $s_tem);
         foreach($a_tem as $val)
         {
          $tem = explode('=', $val);
          $_GET[$tem[0]] = $tem[1];
         }
       }
    }
    rebuild_GET();
    echo 'GET:<pre>'.print_r($_GET, true).'</pre>';
    function testGET()
    {
       echo 'Function GET:<pre>'.print_r($_GET, true).'</pre>';
    }
    testGET();
    ?>
    <br /><br /><br />
    <?
    for($i=1; $i<10; $i++)
    {
      $s_url = query_encode('ac=index:logo& style="color: #007700">.$i);
       echo sprintf('<a href="?%s">TEST: %s</a><br />', $s_url, $s_url);
    }
    ?>
    </body>
    </html>

PS:关于加密解密感兴趣的朋友还可以参考本站在线工具:

URL网址16进制加密工具:
**
http://tools.jb51.net/password/urlencodepwd**

密码安全性在线检测:
http://tools.jb51.net/password/my_password_safe

高强度密码生成器:
http://tools.jb51.net/password/CreateStrongPassword

MD5在线加密工具:
http://tools.jb51.net/password/CreateMD5Password

迅雷、快车、旋风URL加密/解密工具:
http://tools.jb51.net/password/urlrethunder

在线散列/哈希算法加密工具:
http://tools.jb51.net/password/hash_encrypt

更多关于PHP相关内容感兴趣的读者可查看本站专题:《php加密方法总结》、《PHP编码与转码操作技巧汇总》、《php面向对象程序设计入门教程》、《PHP数学运算技巧总结》、《PHP数组(Array)操作技巧大全》、《php字符串(string)用法总结》、《PHP数据结构与算法教程》、《php程序设计算法总结》、《php正则表达式用法总结》、及《php常见数据库操作技巧汇总

希望本文所述对大家PHP程序设计有所帮助。

 相关文章:
PHP分页显示制作详细讲解
SSH 登录失败:Host key verification failed
获取IMSI
将二进制数据转为16进制以便显示
获取IMEI
贪吃蛇
文件下载
双位运算符
发送邮件
PHP自定义函数获取搜索引擎来源关键字的方法
Java生成UUID
提取后缀名
年的日历图
在Zeus Web Server中安装PHP语言支持
让你成为最历害的git提交人
Yii2汉字转拼音类的实例代码
再谈PHP中单双引号的区别详解
指定应用ID以获取对应的应用名称
Python 2与Python 3版本和编码的对比
php封装的page分页类完整实例