我正在努力将一个现有的在线商店从Miva商人迁移到Prestashop。我遇到的一个问题是顾客的密码。当我从Miva Merchant导出客户时,一个示例密码字段如下所示:
PBKDF1:sha1:1000:W86eGcNGtpk=:ZZNLmbF5f8dcR2j70FkCYpFX90U=显然,我需要修改预存储库的密码验证代码,但是我应该修改它做什么呢?目前,正在(大致)检查密码:
md5(_COOKIE_KEY_.$passwd)如果加密的值与存储在数据库中的值匹配,则身份验证将成功。我需要处理什么加密?
看来,我正在使用pbkdf1算法进行sha1字节派生,可能需要1000次迭代。然而,另外两个领域是什么呢?其中一种可能代表盐,另一种则代表实际密码散列,但哪种是哪种呢?pbkdf1算法生成字节,因此它们需要以某种方式转换为可打印的字符串--但是如何转换呢?使用的长度是多少?
发布于 2014-12-24 23:22:35
好的,更多的挖掘和创造性的谷歌搜索-我找到了我的答案:密码类由Brandon0在GitHub上。我创建了一个简单的测试-并设法匹配密码哈希。不幸的是,要正确地做到这一点,我必须对Prestashop中的classes/Customer.php类进行相当多的更改,以便用Miva算法替换当前的md5散列。
我将试图说服客户端直接导入没有密码的客户,以便他们在下次访问时需要重置密码。希望他们会同意。如果没有,那我就得做所有的改变了。
https://stackoverflow.com/questions/27642314
复制相似问题