PHP 加密技巧

来源:互联网 发布:知乎 种子 小电影 编辑:程序博客网 时间:2024/05/22 04:42

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

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

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

<?phpheader("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的数据,都无法破解出来。



0 0
原创粉丝点击