PHP 加密技巧

        在工作中发现很多开发人员都不是特别注意网站的安全性,对加密算法的使用也是非常的单一,也不是很注意加密算法的使用。由于本人是个技术迷,所以对一些乱起八糟的研究比较多,我对sql注入也比较喜欢,前前后后检测过不少网站,asp、php、jsp 等都有看过。发现这些网站基本都是使用md5加密算法,很多技术人员都说 MD5算法是不可逆的无法破解,其实这是一种非常不明智的说法,对MD5是无法逆,可是可以对它进行暴力破解的,只需要把常用的密码 MD5算法加密后,放数据库里就可以了。 别人只需要提供MD5密码,进行数据库对比 就可以还原密码了。国内的www.cmd5.com网站和国外的www.xmd5.org网站都提供在线爆破。

        很多站长被人入侵过吧?其中最大部分是管理员密码被SQL注入导致泄露,然后进后台搞破坏。

        我发现PHP的内置函数crypt很不错,配合着MD5使用功能强大,可以把安全性能有质的提升。

<?php

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

$pass = '123456';

//这样开起来不是很安全
echo "MD5加密后:" . md5($pass) . "<br>";

// 比较乱的密码,而且刷新后还会变化
echo "crypt加密后:" . crypt($pass) . "<br>";

//这样每次刷新不会改变,但看着不舒服
echo "crypt复杂加密后:" . crypt($pass, substr($pass, 0, 2)) . "<br>";

//这样就比较完美了
echo "联合加密后:" . md5(crypt($pass, substr($pass, 0, 2))) . "<br>"; 

?>
        注:最后加密之后的密码还是32位,初看都以为是 MD5加密,可无论对方MD5的HASH值多么庞大,几个T的数据,都无法破解出来。



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值