设为首页 收藏本站
查看: 1317|回复: 0

[经验分享] php加密算法小结

[复制链接]
累计签到:1 天
连续签到:1 天
发表于 2014-7-29 10:58:19 | 显示全部楼层 |阅读模式
<?php
#加密算法
header('content-type:text/html;charset=utf-8;');
$password='hugehugehuge';
$pwd='hugehuge';
//MD5加密,单向加密算法,两个参数,1必写,要加密的字符串,
//2第二个参数是bool值,为真, MD5 报文摘要将以16字节长度的原始二进制格式返回。返回32位字符串
echo 'md5默认调用:<BR>';
echo md5($password);
echo "<BR>";
echo 'md5配置第二个参数调用:<BR>';
echo md5($password,true);

//cryp,单向加密算法,两个参数,1.参数要加密的明文,它也只使用该明文的开始 8 个字符
//2。加密的干扰串,默认是两位,如果不写,则由系统随机生成两位字符,也叫做盐值或密钥。
echo '<br>';
echo '<hr>';
echo "CRYPT加密算法<BR>";
echo crypt($password);
echo '<br>';
echo crypt($password,'hu');
if(CRYPT_STD_DES){//CRYPTDES标准算法
        echo '<br>标准算法,只取两位字符串作为干扰串';
        echo '<br>';
        echo crypt($password,'this is a test');
        echo '<br>pwd:';
        echo crypt($pwd,'this is a test');
        echo '看两个结果是否一样<br>';
}
if(CRYPT_MD5){//md5加密
        echo '<br>md5加密算法,第二个参数以$1$开头,以$结尾,最多12位作为干扰串包括$1$';
        echo "<br>";
        echo crypt($password,'$1$hellohellohello$');
        echo "<br>pwd:";
        echo crypt($pwd,'$1$hellohellohello$');
}

//sha1加密算法,返回40位长度的字符串,单向加密算法
echo '<hr>sha1默认调用:<BR>';
echo sha1($password);
echo "<BR>";
echo 'md5配置第二个参数调用:<BR>';
echo sha1($password,true);

//url加密和解密
//urlencode,传入字符串中除了-_.之外的所有非字母数字字符串都将
//被替换成百分号(%)后跟两位16进制数,空格则编码为加号(+)
echo '<hr>url加密和解密<br>';
$url1='this is a url';
echo urlencode($url1);
echo '<br>';
$url2='www.qdweb.com?username=2+3%4 huge &king # or \1=1';
echo urlencode($url2);
/*
常用的转换
?变成 %3F
=变成 %3D
空格 变成 +
% 变成 %25
& 变成 %26
\ 变成 %5C
+ 变成 %2B
*/
echo '<br>urldecode的一个用处:合并参数,<br>';
if(!empty($_GET)){
        print_r($_GET);
}
echo '<br>';
$url3='http://www.qdweb.com/jiami.php?username=huge&age=24';
echo '<a href="'.$url3.'">urldecode合并参数</a>';

$baidu='http://www.baidu.com/s?wd=%E6%85%95%E8%AF%BE%E7%BD%91%20immoc&ie=utf-8&tn=baiduhome_pg&f=8&rsv_bp=1&rsv_spt=1&rsv_sug3=6&rsv_sug4=109&rsv_sug1=3&rsv_n=2&inputT=8408&rsv_sug=1&bs=immoc%20%20%E6%85%95%E8%AF%BE%E7%BD%91';
echo '<br>';
echo 'rawurlencode:';
//按照RFC1738进行编码,将空格转换20%,其他同上
echo rawurlencode($url2);
#解码
$url='this is a test!';
$enurl=urlencode($url);
echo '<br>urlencode编码后:'.$enurl;
$deurl=urldecode($enurl);
echo '<br>urlencode解码后:'.$deurl;
#解码
$url='this is a test!';
$enurl=rawurlencode($url);
echo '<br>rawurlencode编码后:'.$enurl;
$deurl=rawurldecode($enurl);
echo '<br>rawurlencode反编码后:'.$deurl;
//urldecode也可以将20%解码成空格
$deurl=urldecode($enurl);
echo '<br>urlencode解码rawurlencode编码后的字符串:'.$deurl;

//base64_encode(),使用base64对传入字符串进行编码
//一般用在邮件中,对二进制图片进行编码
$data='虎哥是男神!!';
echo '<hr>base64_encode加密后:';
$endata=base64_encode($data);
echo $endata;
//base64_decode(data,bool strict),对使用MIME base64编码的数据进行解码
//如果输入的数据超出了base64字母表,则返回false
echo '<br>base64_decode解密后:';
echo base64_decode($endata);






运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-22831-1-1.html 上篇帖子: php日期操作函数 下篇帖子: php网页爬虫 加密
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表