PHP加密技術

(1) Md5() 加密算法 
語法:
string md5(string $str[,bool $raw_output = false])
:計算str的md5散列值
$str:原始字符串
$raw_output:如果可選的raw_output 被設置爲true,那麼md5報文摘要將以16字節長度的原始二進制格式返回。
返回以32位字符十六禁止數字形式返回散列值。

(2) Crypt()加密算法
語法:
string crypt(string $str[,string $salt]),
返回一個基於標準UNIX DES算法或系統上其它可用的替代算法的散列字符串。
$str:需要機密的明文
$salt:加密時的干擾串,使編碼更安全
注意:
如果加密時沒有加上這個$salt參數,將隨機生成一個干擾串,否則刷新加密密文不變

(3) Sha1()加密算法 
語法:
string sha1(string $str[,bool $raw_output=false]):
計算字符串的sha1散列值
$str:加密的字符串
$raw_output: 如果可選的raw_output 參數被設置爲 TRUE,那麼sha1摘要將以20字符長度的原始格式返回,
否則返回值是一個40字符長度的十六進制數字。

返回sha1散列值字符串。

(4) URL編碼加密技術

 urlencode(string $str): 編碼URL字符串

$str:要編碼的字符串
返回值:返回編碼後的字符串

編碼規範:此字符串中除了-_.之外的所有非字母數字字符都將被替換成百分號(%)後跟兩位十六進制數,空格則編碼爲加號(+)
urldecode(string $str): 解碼已編碼的URL字符串。
str:要解碼的字符串
返回值:返回解碼後的字符串


例:
(a) if(!empty($_GET)){
       print_r($_GET);
}


echo "<a href='han.php?username=imooc&stone&age=2'>單擊我</a>";
username值有特殊符號,所以
應該這樣:


$username = 'imooc&king';
$queryString="username=".urlencode($username)."&age=2"; 
echo "<a href='han.php?{$queryString}'>單擊我</a>";


(b)


rawurlencode(string $str):按照RFC1738對URL進行編碼
$str:要編碼的URL
返回值:返回字符串,把空格編碼爲%20

rawurldecode(string $str): 對已編碼的URL字符串進行解碼

$str:要解碼的URL

返回值: 返回字符串,此字符串中百分號%後跟兩位十六進制的序列都將被替換成原義字符

(5) Base64編碼加密技術



base64_encode(string $data):使用base64對data進行編碼
$data: 要編碼的數據
base64_decode(string $data[,bool $strict=false]):對使用MIME base64編碼的數據進行解碼
$strict:如果輸入的數據超出了base64字母表,則返回false




base64主要用在圖片編碼。


<img src="data:image/jpeg:;base64,xxxxx"/>
<img src="data:xxx"/>


總結,信息加密技術


1. 單項散列加密技術介紹
2. 對稱加密技術介紹
3. 非對稱加密技術介紹


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章