前幾天學習了PHP加密的一些知識,現在總結一下
PHP中幾種加密形式
Md5()加密算法
Crypt()加密算法
Sha1()加密算法
URL編碼加密技術
Base64編碼加密技術
Md5()加密算法
文法:
string md5(string $str [, bool $raw_output = false ] )
$raw_output : 如果可選的raw_output被設定為true,那麼md5報文摘要將以16位元組長度的原始二進位格式傳回。預設為false,傳回以32位元字元16進位數字形式傳回雜湊值。
但是只使用md5加密演算法,很容易被破解,如網路上有相關的md5解密網站,可以把相關的md5密文透過其網站收錄的常見md5密文查詢出來
可以如下加強破解難度
md5(md5($str,true))
Crypt()加密演算法
語法:
string crypt(string $str [ string $標準UNIX DES演算法或系統上其它可用的替代演算法的雜湊字串。
$str:需要機密的明文
$salt: 加密時的干擾串,是編碼更安全
注意:
如果加密時沒有加上$salt參數,隨機產生一個幹擾串,否則刷新加密密文不變
Sha1()加密演算法
語法:
string sha1(string $str [ , bool $str. ], 計算字串的sha1雜湊值
$str:加密的字串
$raw_output:如果可選的raw_output 參數被設定為TRUE,那麼sha1封包摘要將以20字元長度的原始格式傳回,否則回傳值是一個40字元長度的十六進位數字
回傳sha1雜湊值字串
透過sha1加密的密文也可以在網站上查詢出明文。 (md5(“admin”,true))
URL編碼加密技術
1.urlencode(string $str) : 字元編碼字串
$str:要編碼的字串
回傳值:傳回編碼後的字串
回值> 編碼規範:此字串中除了-_.之外的所有非字母數字字元都將被替換成百分號(%)後面跟著兩位十六進位數,空格則編碼為加好( +)
2.urldecode(string $str) : 解碼已編碼的URL字串。 ):依照RFC1738對URL進行編碼
$str:要編碼的URL
>
🎜>
%204.rawurldecode(string $str) :對已編碼的URL字串進行解碼
str 要解碼的 str URL
回傳值:傳回字串,此字串中百分號%後接兩位十六進位的序列都會被取代成原義字元
$str:要解碼的字串
回傳值:回傳解碼後的字串
1.base64_encode(string $data):使用base64對data進行編碼
$
$
$ >
2.base64_decode(string $data [.bool $strict = false]):使用MIME base64編碼的資料解碼$strict : 如果輸入的資料超出了base64字母表,則回傳false
以上就介紹了 PHP加密技術,包括了方面的內容,希望對PHP教程有興趣的朋友有幫助。