本文實例講述了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][email protected][/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程序設計有所幫助。