crypt()
$str='kongkong is cute!';
echo '加密前的字符串:'.$str;
//输出 加密前的字符串:kongkong is cute!
$cryptstr=crypt($str,'$1$bbjjbaab');
echo '加密后的字符串:'.$cryptstr;
//输出 加密后的字符串:$1$bbjjbaab$VbSurs6SpP8AGZh6US2NP.
1.语法
crypt(str,salt)
,第一个参数为需要加密的字符串,第二个参数为salt
盐值,即加密时使用的干扰串,若省略则随机生成干扰串
2.salt
长度:2-character(默认),9-,12-($1$
开头,自动以$
结尾) ,16-(以$2$
开头,自动以$
结尾),超过当前算法长度而未超过下一算法则超过的部分被省略
3.若未加盐值则刷新每次生成的干扰串都不同
4.单向加密,不可逆
md5()
$md5str=md5($str);
echo '加密后的字符串:'.$md5str;
//输出:加密后的字符串:4186a508aa05fdb50d766563f7a70019
1.
md5()
使用MD5算法,把不同长度的字符串经过一系列的算法计算成一个128位的数值,即把一个任意长度的字节串变成一定长的大整数。
2.同一字符串刷新后结果不变,即为定值
3.单向加密,不可逆
sha1() - 安全哈希算法
$sha1str=sha1($str);
echo '加密后的字符串:'.$sha1str;
//输出:加密后的字符串:6911befda0a958bbbdfd494e29188eeb7823d7f1
1.格式
sha1(string,raw)
,raw可选(true
- 原始 20 字符二进制格式、false
-默认。40 字符十六进制数),一般不写,即默认false
。
2.同一字符串刷新后结果不变,即为定值
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.返回字符串时此字符串中除了 -_. 之外的所有非字母数字字符都将被替换成百分号(%)后跟两位十六进制数,空格则编码为加号(+)
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()
解密