关于PHP的一些常用的缓存技术
1.MD5();
2.Crypt();
3.Sha1();
4.URL编码加密技术
5.Base64信息编码加密技术
首先我们先从最基础的MD5()加密技术开始讲解:
MD5()加密技术,是一种单向加密技术,下面来看一下MD5的语法
string md5( string $str [,bool $raw_output = false]) //计算str的md5散列值;$str:初始字符串;
$raw_output : 如果raw_output被设置为true,那么md5将以16字节长度的原始二进制格式返回,
返回以32位字符十六位禁止数字形成返回散列值
现在我们举一个例子:
$str = "kylin";
echo md5($str);
echo md5($str,true);
大家可以打印一下这个简单的代码。加密之后的结果,应该是32为字符串,如果是TRUE将以16字节长度的原始二进制格式返回。
在我们使用中,TRUE不会经常被用到,我们可以直接md5(我们需要加密的内容);
接下来我们讲解一下Crypt()加密
语法:
string cryp(string $str[,string $salt]),
//$str :需要加密的明文 $salt :加密时的干扰串,使编码更加安全、如果没有加入这个参数,会随机产生一个干扰串,加入则每次产生的干扰串不变。
下面看一个例子:
echo crypt("kylin");
我们直接返回一个加密的字符串,现在只传了一个参数大家可以试一下他的结果,$开头到$crypt是让我们以md5的方式加密,后面的字符串则是我们的加密内容。怎么可以看出是MD5呢?因为他是以$1$开头,其中不超过8个字符的内容,$结尾这样的一段字符串。就是基于MD5加密的。
我们下面输入两个参数:
echo crypt("kylin","wh");
wh:干扰字符串,只接受两个字符:
我们今天先说这两种方法,下面的明天再说。
其中呢,这几种加密方法,虽然是单向不可逆的加密方式,不可逆转但是还是很好破解:
破解方法:可见 http://www.cmd5.com/ 把加密字符串复制进去看看,是否能破解。
我们为了避免加密过于简单。我们可以多次加密,增加算法难度:如:::MD5(MD5("字符串"))