crypt()
$str='kongkong is cute!';
echo '加密前的字符串:'.$str;
//輸出 加密前的字符串:kongkong is cute!
$cryptstr=crypt($str,'$1$bbjjbaab');
echo '加密后的字符串:'.$cryptstr;
//輸出 加密后的字符串:$1$bbjjbaab$VbSurs6SpP8AGZh6US2NP.
1.語法
crypt(str,salt),第一個參數(shù)為需要加密的字符串,第二個參數(shù)為salt鹽值,即加密時使用的干擾串,若省略則隨機生成干擾串
2.salt長度:2-character(默認),9-,12-($1$開頭,自動以$結(jié)尾) ,16-(以$2$開頭,自動以$結(jié)尾),超過當前算法長度而未超過下一算法則超過的部分被省略
3.若未加鹽值則刷新每次生成的干擾串都不同
4.單向加密,不可逆
md5()
$md5str=md5($str);
echo '加密后的字符串:'.$md5str;
//輸出:加密后的字符串:4186a508aa05fdb50d766563f7a70019
1.
md5()使用MD5算法,把不同長度的字符串經(jīng)過一系列的算法計算成一個128位的數(shù)值,即把一個任意長度的字節(jié)串變成一定長的大整數(shù)。
2.同一字符串刷新后結(jié)果不變,即為定值
3.單向加密,不可逆
sha1() - 安全哈希算法
$sha1str=sha1($str);
echo '加密后的字符串:'.$sha1str;
//輸出:加密后的字符串:6911befda0a958bbbdfd494e29188eeb7823d7f1
1.格式
sha1(string,raw),raw可選(true- 原始 20 字符二進制格式、false-默認。40 字符十六進制數(shù)),一般不寫,即默認false。
2.同一字符串刷新后結(jié)果不變,即為定值
3.單向加密,不可逆
url加密
$url = 'http://www.xxx.com/CraryPrimitiveMan/';
$encodeUrl = urlencode($url);
echo $encodeUrl;
//輸出:http%3A%2F%2Fwww.xxx.com%2FCraryPrimitiveMan%2F
echo urldecode($encodeUrl);
//輸出:http://www.xxx.com/CraryPrimitiveMan/
1.返回字符串時此字符串中除了 -_. 之外的所有非字母數(shù)字字符都將被替換成百分號(%)后跟兩位十六進制數(shù),空格則編碼為加號(+)
2.可逆,urlencode方法用于加密,urldecode方法用于解密
Base64信息編碼加密
$name = 'kongkong is cute!';
$encodeName = base64_encode($name);
echo $encodeName;
//輸出:a29uZ2tvbmcgaXMgY3V0ZSE=
echo base64_encode($name);
//輸出:kongkong is cute!
可逆,
base64_encode()加密,base64_encode()解密