本文实例讲述了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高强度密码生成器:http://tools.jb51.net/password/CreateStrongPasswordMD5在线加密工具: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程序设计有所帮助。