1.Md5()加密算法——單向加密,不能解密
語法:String md5(string $str,$raw=false),
$str:必需。規(guī)定要計(jì)算的字符串,
$raw:可選。規(guī)定十六進(jìn)制或二進(jìn)制輸出格式:
TRUE - 原始 16 字符二進(jìn)制格式
FALSE - 默認(rèn)。32 字符十六進(jìn)制數(shù)
返回值:如果成功則返回已計(jì)算的MD5散列,如果失敗則返回FALSE
2.Crypt()加密算法——同樣是單向加密
語法:string crypt(string $str,string,$salt),
$str:必需。規(guī)定要計(jì)算的字符串,
$salt,可選。用于增加被編碼字符數(shù)目的字符串,以使編碼更加安全。如果未提供 salt 參數(shù),則每次調(diào)用該函數(shù)時(shí) PHP 會(huì)隨機(jī)生成一個(gè)。
返回值:返回一個(gè)基于標(biāo)準(zhǔn)UNIX DES算法或系統(tǒng)上其他可用的代替算法的散列字符串
例子:1.crypt( zhangsan --輸出 $1$aX3.sX0.$PcFaGWCv51UNO.1eIvMpy0(最前邊的$1$aX3.sX0.$為隨機(jī)給的字符串)
2.crypt( zhangsan , we --輸出 weGSA6nisE59k(“we”是不變的)
支持的多種PHP設(shè)置的算法:
3.Sha1()加密算法(單向加密)
語法:String sha1(string $str,$raw_output=false),
$str :加密的字符串
$raw_output:如果可選的raw_output 參數(shù)被設(shè)置為TRUE,那么 sha1 摘要將以 20 字符長度的原始格式返回,否則返回值是一個(gè) 40 字符長度的十六進(jìn)制數(shù)字。
返回值:sha1散列值字符串
注意:同md5一樣 百度上邊部分解密網(wǎng)站是可以參照他提前錄好的密文與咱們輸入的密文進(jìn)行比較,從而得到明文,但不是真正意義的破解,進(jìn)行多次加密可以預(yù)防這個(gè)事情的發(fā)生。
4.URL編碼加密算法——雙向
一、urlencode(string $str):編碼URL字符串,$str:要編碼的字符串 返回值:返回編碼后的字符串
編碼規(guī)范:此字符串中出來-_.之外的所有非字母數(shù)字字符都將被替換成百分號(hào)(%)后跟兩位十六進(jìn)制數(shù),空格則編碼為加號(hào)(+)
常用的字符被編碼后,括號(hào)里代表編碼后的格式:?(%3F),=(%3D),空格(+),%(%25), (%26),/(%5C),+(%2B)
二、urldecode(string $str):解碼已編碼的URL字符串,$str:要解碼的字符串 返回值:返回解碼后的字符串
注意:rawurlencode編碼 rawurldecode解碼 跟上邊的urlencode urldecode 道理及用法完全相同,唯一的區(qū)別:rawurlencode把空格編碼成%20
5.Base64編碼加密技術(shù)——雙向
一、base64_encode(string $data):使用base64對(duì)data進(jìn)行編碼
二、base64_decode(string $data,$strict=false):對(duì)使用base64編碼的數(shù)據(jù)進(jìn)行解碼,$strict如果輸入的數(shù)據(jù)超過了base64字母表,則返回false
總結(jié):大致的加密技術(shù)可以分為以下三種
1.單向散列加密
2.對(duì)稱散列加密
3.非對(duì)稱散列加密
相關(guān)推薦:
php用戶密碼加密算法解析
php加密與解密的方法
以上就是如何給PHP代碼加密?php加密算法的介紹的詳細(xì)內(nèi)容,PHP教程
鄭重聲明:本文版權(quán)歸原作者所有,轉(zhuǎn)載文章僅為傳播更多信息之目的,如作者信息標(biāo)記有誤,請(qǐng)第一時(shí)間聯(lián)系我們修改或刪除,多謝。
新聞熱點(diǎn)
疑難解答
圖片精選