大家好我尝试检查magento商店用户的密码,我从用户和magento获取密码并尝试比较它们,其中一个是哈希码,另一个是普通字符串,我想生成正常的哈希值并比较它们但问题是magento哈希密码是不同的! 这是密码:123456 这是我从magento得到的哈希:2364b70e91268d8ecf59fffd47db692b:LSC2VzugdDdUbghTHoTouZeMLxk14OPT 这是我为123456生成的md5哈希:e10adc3949ba59abbe56e057f20f883e
什么是magento密码哈希格式? 有谁能够帮我 ? 感谢
答案 0 :(得分:6)
这称为盐渍密码哈希
在:
处拆分数据库中的值。第一部分是盐渍哈希,第二部分是“盐”
在Magento中它的工作原理如下:
$saltedHash = md5($salt.$password);
在您的情况下,盐是LSC2VzugdDdUbghTHoTouZeMLxk14OPT
如果您尝试md5('LSC2VzugdDdUbghTHoTouZeMLxk14OPT123456')
,则会获得2364b70e91268d8ecf59fffd47db692b
正是你需要的。
答案 1 :(得分:1)
我尝试如下,解决方案类似,但在此处详细显示
$inDatabase = 2364b70e91268d8ecf59fffd47db692b:LSC2VzugdDdUbghTHoTouZeMLxk14OPT
$passwordEntered = 123456
$hashPassword = explode(':', $inDatabase);
$firstPart = $hashPassword[0];
$salt = $hashPassword[1];
然后,
md5($salt.$passwordEntered)
等于$firstPart