PHP数据加密技术之一---URL编码加密技术

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/qq_18661257/article/details/50825175

URL编码加密技术

urlencode,urldecode这两个函数相对立,urlencode对数据进行编码加密,urldecode对数据进行编码解密。

其中urlencode的函数具体内容如下:

string urlencode ( string $str )

str

要编码的字符串。 

 

返回值:

返回字符串,此字符串中除了 -_. 之外的所有非字母数字字符都将被替换成百分号(%)后跟两位十六进制数,空格则编码为加号(+)。此编码与 WWW 表单 POST 数据的编码方式是一样的,同时与 application/x-www-form-urlencoded 的媒体类型编码方式一样。由于历史原因,此编码在将空格编码为加号(+)方面与 RFC3896 编码(参见 rawurlencode())不同。 

 

urlencode的主要作用:

一,通常用于明文数据的隐藏

<?php
$url 'admin.php?act=zhongguo&tx=123';
echo urlencode($url);
?>

 

admin.php%3Fact%3Dzhongguo%26tx%3D123

=> %3F

= => %3D

% => %25

& => %26

\ => %5C

urlencode()会对字符串进行编码,至于是针对于哪些字符进行特殊编码,在上面对urlencode函数介绍的时候已经提过。

 

二,针对GET提交数据进行编码

也许大家没有遇到过如下这种情况:

admin.php?act=del&add&data=abcd

看到这里,大家也许开始吐槽了, 阿西吧!这个东西什么玩意actdel还是del&add。怎么办,这里我们就可以用URL编码去处理这个问题,对del&add进行编码就可以使act可以等于del&add,

 

<?php
$str 'del&add';
$url 'admin.php?act='.urlencode($str).'&data=abcd';
echo $url;
?>

 

admin.php?act=del%26add&data=abcd

这样就可以得到我们想要传输的数据了,如此就可以分得非常清楚了

 

然后就是urldecode

string urldecode ( string $str )

只是对urlencode编码的数据进行解密

还有就是rawurlencode()以及rawurldecode()函数,他们只是对字符编码的结果有所不同。

他们两个使用后返回的字符串,此字符串中百分号(%)后跟着两个十六进制数的序列都将被替换成原义字符。

 


展开阅读全文

没有更多推荐了,返回首页