PHP常见的加密算法

一:单向加密算法

1、md5($str, bool):默认返回32位,为true返回16位的二进制字符;

2、crypt($strl, $salt):$salt为干扰串,置于密文前面,有多种格式;

3、sha1($str, bool):默认返回40位,为true返回20位的源码格式字符;

二:双向加密算法

1、urlencode();

2、rawurlencode();

3、base64_encode():转码图片等,<img src="data:image/jpeg;base64,xxxx(base64加密后的字符)">,浏览器可直接解码显示该图片,而不必显示图片地址。

其中urlencode()和rawurlencode()的分析:

一:区别在于:

urlencode()将空格转为了'+'号,而rawurlencode()将空格转为了%20,这是唯一的区别。

二:相同点:

都是将-_.之外的所有非字母数字字符进行了编码,转成了%加两位十六进制字符。

 

单向散列算法、对称算法、非对称算法:

单向散列算法:将不同长度的字符转成了相同长度的字符串;

对称算法:加密和解码的密钥相同,加密/解密快;

非对称算法:加密使用的是大家都知道的公钥,而解码时只能使用只有自己知道的私钥

posted @ 2014-09-15 23:39  我爱绿豆  阅读(1808)  评论(0编辑  收藏  举报