一、 Md5加密算法
Md5()常用於密碼(數字)的加密 不可逆加密
語法:string md5($str[,bool$raw_output=false]);
$raw_output如果可選的該參數被設置爲true,那麼md5報文摘要以16字節長度的原始二進制格式返回,否則32位字符十六進制數字形式散列值返回
二、 Crypt加密算法
不可逆加密,數字、字符的加密
語法:string crypt(string $str[,string $salt])
Crypt()返回一個基於標準NUIX DES算法或者系統上其他可用的替代算法的散列字符串
$salt加密時的干擾串,使編碼更安全
注:如果加密時沒有加上$salt參數,
將隨機生成一個干擾串,否則刷新加密密文不變
三、 Sha1加密算法
語法:string sha1(string $str[,bool $raw_output=false]);
不可逆加密
$raw_output爲TRUE,則sha1以20字符長度的原始格式返回
爲FALSE,則sha1以40字符的十六進制數字輸出
四、 URL編碼加密技術
語法:string urlencode($str); 編碼URL字符串
偏於將字符串編碼並將其用於URL請求部分,也可將變量傳遞給下一頁,返回字符串,此時除了‘-_.’之外的所有非數字字符都將被替換成百分號(%)後跟兩位十六進制數,空格編碼爲(+);
urlencode($str); 加密
urldecode($str) 解密
加密字符:
? %3F
= %3D
空格 +
% %25
& %26
\ %5C
+ %2B
在傳參時的應用:
<a href=’urlencode.php?username=abs&king&age=2’>測試urlencode</a>
//輸出結果
Array([‘username’]=>abs,[king]=>’’,[‘age’]=>2);
$username= abs&king;
$queryString=” username=”.urlencode($username).”&age=2”;
<a href=”urlencode.php? $queryString”>測試urlencode</a>
//輸出結果
Array([‘username’]=>abs&king,[‘age’]=>2);
Rawurlencode(string $str):按照RFC1738對URL進行編碼
返回值:返回字符串,將空格編碼爲%20
Rawurldecode(string $str) 對已經編碼的URL字符串進行解碼
返回值:返回字符串,此字符串中百分號%後跟兩位十六進制的序列都將被替換成原義字符。
五、 Base64信息編碼加密技術
base64對文本、圖片進行編碼
語法:string base64_encode(string $data);
該編碼是爲了使二進制數據可以通過非純8-bit的傳輸層傳輸
base64_encode數據比原始數據多用33%的空間
string base64_decode(string $data[,bool $strict =false])
//解碼
strict 如果輸入的數據超過了base64字符表,返回false
$filename =’1.jpg’;
$data = file_get_contents($filename);
Echo base64_encode($data);
六、 信息技術加密
1、 單項散列加密
通過對不同輸入長度的信息進行散列計算,得到固定長度的輸出,這個散列計算過程是單向的,既不能對固定長度的輸出進行計算從而獲得輸入信息。
2、 對稱散列加密
加密和解密使用同一個密鑰,可以相互推算
3、 非對稱散列加密
加密和解密使用不同的密鑰,其中一個對外公開,被稱作公鑰,另一個只有使用者知道。