本文实例讲述了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><?phpfunction 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
高强度密码生成器:
新闻热点
疑难解答