<?php


//1:被泄密的事件:CSDN,天涯社区,冠希哥


//2:常见加密算法:md5(),Crypt(),Sha1(),URL(),Base64()






//MD5()加密:单向加密 md5($str[,true])

$str="imooc";

echo md5($str); //返回数字字母的组合

echo "<hr/>";

echo md5($str,true); //这样会返回16位2进制数


//注:

echo "注册成功,3秒钟后跳转到登陆页面";

echo "<meta http-equiv='refresh' content='3;url=login.html'/>";

header("content-type:text/html;charset=utf-8");

//为了安全可以多次md5,不容易被猜测到。

echo md5(md5($str,true));




//crypt加密算法:单向加密 crypt($str[,2位干扰串]);

echo crypt($str); //$s..adhasf$sdhfsdfsdfdsgdgjd/dfdh,刷新便更改

echo "<hr/>";

echo crypt($str,im); //imAqJS/wYeLho,不变

crypt()支持6种算法标准,具体查看php手册。




//sha1加密算法:与md5差不多,返回40位,md5返回32位,单向加密 sha1($str[,参数:返回20位原始二进制数据]);

echo sha1($str);

注:加密算法可以合并使用,如:

echo md5(sha1($str));






//URL编码加密技术,常用作对网址进行编码,双向的!!!!!!!

echo urlencode("http:www.baidu.com");

echo urldecode("http://www.baidu.comsadgsafdbfdf$dsf%jsfdj%");

$str="a b c d"; //空格->加号 -_.之外的非字母数字字符->%后跟上2位十六进制数!!!!!!!!!!!!!!!!!!!!!!

echo urldecode($str); //a+b+c+d


//注:与urlencode,urldecode相似的加密技术:rawurlencode()/rawurldecode()!!!!!!!!!!!!!!!!!!!!!

//它将空格变成%20!!!!!!!!!!!!!!!!!其它的一样!!!!






//Base64编码加密技术(视频,图片,中文,数字都可以) base64_encode($data)/base64_decode($data[,false]);

//非ASCII--------------------->ASCII数据

$data="慕课网男神";

echo base64_encode($data);

echo base64_decode($data);


//得到图片的二进制编码:!!!!!!!!!!!!!!!!!!!!!!

$data=file_get_contents($filename);

echo base64_encode($data);

//或者

<img src="data:p_w_picpath/jpeg;base64,base64编码后的字符" atl="" />

<img src="data:;base64,base64编码后的字符" atl="" />






//信息加密技术总结

/*分类:单项散列加密(单向,不定长信息到定长信息)

对称加密(加解密秘钥相同)

非对称加密(加解密秘钥不同,公钥,私钥)

*/



?>