PHP資料加密技術之一---URL編碼加密技術
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()會對字串進行編碼,至於是針對於哪些字元進行特殊編碼,在上面對
二,針對GET提交資料進行編碼
也許大家沒有遇到過如下這種情況:
admin.php?act=del&add&data=abcd
看到這裡,大家也許開始吐槽了, 阿西吧!這個東西什麼玩意act是del還是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()函式,他們只是對字元編碼的結果有所不同。
他們兩個使用後返回的字串,此字串中百分號(%)後跟著兩個十六進位制數的序列都將被替換成原義字元。
再分享一下我老師大神的人工智慧教程吧。零基礎!通俗易懂!風趣幽默!還帶黃段子!希望你也加入到我們人工智慧的隊伍中來!https://blog.csdn.net/jiangjunshow