我正在努力将现有的在线商店从Miva Merchant迁移到Prestashop。我遇到的一个问题是客户'密码。当我从Miva Merchant导出客户时,示例密码字段如下所示:
PBKDF1:sha1:1000:W86eGcNGtpk=:ZZNLmbF5f8dcR2j70FkCYpFX90U=
显然,我需要修改prestashop的密码验证码,但我应该将其修改为什么?目前,正在(大致)检查密码:
md5(_COOKIE_KEY_.$passwd)
如果加密值与存储在数据库中的值匹配,则验证成功。我需要处理什么加密?
我似乎正在使用sha1算法处理pbkdf1字节派生,可能需要1000次迭代。然而另外两个领域是什么?其中一个可能代表salt,另一个 - 实际密码哈希,但哪个是哪个? pbkdf1算法产生字节,因此它们需要以某种方式转换为可打印的字符串 - 但是如何?使用的长度是多少?
答案 0 :(得分:1)
好的,更多的挖掘和创造性的谷歌搜索 - 我找到了答案:this great Miva_Password由Brandon0在GitHub上的PHP课程。我创建了一个简单的测试 - 并设法匹配密码哈希。不幸的是,要做到这一点,我必须对Prestashop中的classes/Customer.php
类进行一些更改,以用Miva算法替换当前的md5哈希。
我会试图说服客户只是导入没有密码的客户 - 这样他们就需要在下次访问时重置密码。希望他们会同意。如果没有,那么我将不得不做出所有改变。