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