魔扣论坛

查看: 787|回复: 5

[经验交流] Magento 是采用伪Hash加密方式

[复制链接]
  • TA的每日心情
    慵懒
    3 小时前
  • 签到天数: 1106 天

    [LV.10]论坛老兵

    6341

    主题

    6550

    帖子

    4万

    积分

    管理员

    Rank: 30Rank: 30Rank: 30Rank: 30Rank: 30Rank: 30Rank: 30Rank: 30

    魔扣币
    179612
    贡献
    21892
    威望
    14715

    最佳新人活跃会员热心会员推广达人宣传达人突出贡献优秀版主荣誉管理论坛元老

    发表于 2015-12-13 18:24:20 | 显示全部楼层 |阅读模式
    Magento 是采用Hash加密方式的,今天给某个项目换成别的网站系统。发现与Magento的加密方式不一样,找到Magento的加密方式与验证方式,并分离出来与大家分享。
    1. <?php
    2. /*
    3. * To change this template, choose Tools | Templates
    4. * and open the template in the editor.
    5. */
    6. $password    = 'abcd';
    7. $hash = 'bf8d0ec1c358da673b6b841e0c775355:xz';
    8. echo getHash($password,2).'<br>'; //hash 加密
    9. echo validateHash($password,$hash); //hash 加密验证
    10. function getRandomString($len, $chars=null)
    11. {
    12.     if (is_null($chars)) {
    13.         $chars = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789";
    14.     }
    15.     mt_srand(10000000*(double)microtime());
    16.     for ($i = 0, $str = '', $lc = strlen($chars)-1; $i < $len; $i++) {
    17.         $str .= $chars[mt_rand(0, $lc)];
    18.     }
    19.     return $str;
    20. }
    21. function getHash($password, $salt=false)
    22. {
    23.     if (is_integer($salt)) {
    24.         $salt = getRandomString($salt);
    25.     }
    26.     return $salt===false ? md5($password) : md5($salt.$password).':'.$salt;
    27. }
    28. /*
    29. * 验证密码
    30. @param string $password
    31. * @param string $hash
    32. * @return bool
    33. */
    34. function validateHash($password,$hash)
    35. {
    36.     $hashArr = explode(':', $hash);
    37.     switch (count($hashArr)) {
    38.         case 1:
    39.             return getHash($password) === $hash;
    40.         case 2:
    41.             return getHash($hashArr[1] . $password) === $hashArr[0];
    42.     }
    43.     return 'Invalid hash.';
    44. }
    45. ?>
    复制代码


    会员购买:>> 点击购买 << | 魔扣币购买:>> 点击购买 <<
    承接业务:服务器代维丨网站托管丨SEO
    联系客服:微信:morko-net | QQ:1367681973

    该用户从未签到

    0

    主题

    144

    帖子

    288

    积分

    中级魔扣

    Rank: 3Rank: 3

    魔扣币
    144
    贡献
    144
    威望
    0
    发表于 2017-1-4 17:34:34 | 显示全部楼层
    当我们感到幸福的时候,何必去想这幸福是永恒的,还是暂时的。忧虑,是幸福最大的敌人。',

    该用户从未签到

    1

    主题

    180

    帖子

    359

    积分

    中级魔扣

    Rank: 3Rank: 3

    魔扣币
    179
    贡献
    179
    威望
    0
    发表于 2017-5-11 20:15:16 | 显示全部楼层
    爱情里最忌讳的就是:两人都幻想着彼此的未来,却也总惦记着对方的过去。',

    该用户从未签到

    3

    主题

    165

    帖子

    327

    积分

    中级魔扣

    Rank: 3Rank: 3

    魔扣币
    162
    贡献
    162
    威望
    0
    发表于 2017-10-23 12:03:28 来自手机 | 显示全部楼层
    黑夜给了我一双黑色的眼睛,魔扣源码论坛,可我却用它来翻白眼。

    该用户从未签到

    1

    主题

    141

    帖子

    281

    积分

    中级魔扣

    Rank: 3Rank: 3

    魔扣币
    140
    贡献
    140
    威望
    0
    发表于 2018-5-16 08:22:14 | 显示全部楼层
    欢迎你,亲爱的朋友,看到你的留言让我十分高兴。记得从我们第一次接触以后开始互访,至今已经有5个多月了,在这段时间里,我们从陌生到相识相知,增进了彼此信任,友谊不断加深,直到现在成为好朋友,这都是前世修来的缘分。魔扣源码论坛让我们珍惜这份缘,我相信我们的友谊将永存!

    该用户从未签到

    1

    主题

    196

    帖子

    391

    积分

    中级魔扣

    Rank: 3Rank: 3

    魔扣币
    195
    贡献
    195
    威望
    0
    发表于 2019-1-4 16:23:53 | 显示全部楼层
    天下之友无数,以投缘为佳,天下之谊无尽,以适己为悦,天下之爱无穷,以知音为贵,天下之情无量,以真诚为重。魔扣源码论坛祝福好友——时时刻刻开心!日日夜夜幸福!
    您需要登录后才可以回帖 登录 | 立即注册

    本版积分规则

    • 联系我们
    • 新浪微博 :
    • 在线客服 :魔扣科技 
    • 源码QQ群 :魔扣源码论坛官方总群
    • 联系邮箱 :charlin#morko.net
    • 微信扫一扫
    快速回复 返回顶部 返回列表