【问题标题】:Magento password hash in Customer info客户信息中的 Magento 密码哈希
【发布时间】:2013-12-25 12:11:50
【问题描述】:
大家好,我尝试检查magento商店用户的密码,我从用户和magento获取密码并尝试比较它们,其中一个是哈希码,另一个是普通字符串,我想生成普通的哈希并比较它们,但问题是 magento 散列密码不同!
这是密码:123456
这是我从magento得到的哈希:2364b70e91268d8ecf59fffd47db692b:LSC2VzugdDdUbghTHoTouZeMLxk14OPT
这是我为 123456 生成的 md5 哈希:e10adc3949ba59abbe56e057f20f883e
magento 密码散列格式是什么?
有谁能够帮助我 ?
谢谢
【问题讨论】:
标签:
android
magento
hash
md5
hashcode
【解决方案1】:
这称为加盐密码哈希。
在: 处拆分您在数据库中的值。第一部分是加盐哈希,第二部分是“盐”。
在 Magento 中它是这样工作的:
$saltedHash = md5($salt.$password);
在你的情况下,盐是LSC2VzugdDdUbghTHoTouZeMLxk14OPT。
如果你尝试md5('LSC2VzugdDdUbghTHoTouZeMLxk14OPT123456'),你会得到2364b70e91268d8ecf59fffd47db692b。
正是您需要的。
【解决方案2】:
我尝试如下,解决方案类似,但在这里详细显示
$inDatabase = 2364b70e91268d8ecf59fffd47db692b:LSC2VzugdDdUbghTHoTouZeMLxk14OPT
$passwordEntered = 123456
$hashPassword = explode(':', $inDatabase);
$firstPart = $hashPassword[0];
$salt = $hashPassword[1];
那么,
md5($salt.$passwordEntered) 等于 $firstPart