Php 两台服务器之间的prestashop md5哈希不同(相同密钥)

Php 两台服务器之间的prestashop md5哈希不同(相同密钥),php,encryption,hash,prestashop,Php,Encryption,Hash,Prestashop,我有一个旧的prestashop 1.4,我们将其迁移到1.6(两个独立的服务器) 我们复制了客户表, 并进行了通常的更新过程(相同的COOKIE、KEY等) 但md5似乎有所不同 例如,我在新服务器上使用md5(“以前的用户密码”),我得到了与旧数据库不同的东西。。。这可能是什么原因造成的 是的,它是盐渍的-在1.5和更新版本中,还有一个盐渍短语是通过Prestashop中的settings.inc.php文件添加的。密码是盐渍的吗?是的,使用可变COOKIE_密钥,但我们在两台服务器上都有相

我有一个旧的prestashop 1.4,我们将其迁移到1.6(两个独立的服务器) 我们复制了客户表, 并进行了通常的更新过程(相同的COOKIE、KEY等)

但md5似乎有所不同


例如,我在新服务器上使用md5(“以前的用户密码”),我得到了与旧数据库不同的东西。。。这可能是什么原因造成的

是的,它是盐渍的-在1.5和更新版本中,还有一个盐渍短语是通过Prestashop中的settings.inc.php文件添加的。

密码是盐渍的吗?是的,使用可变COOKIE_密钥,但我们在两台服务器上都有相同的盐渍短语……而且我们无法将新服务器上的哈希匹配到旧服务器上!我不知道presta shop的加密路由,但你确定它只是一个纯的
md5(“密码”)
而不是
md5(md5(password.seed).seed.now())
如果它在密码生成中使用日期等,它可能是日期格式。它前面添加了盐,基本上是:cookie\u密钥+密码,但不是随机的(对于登录,random是如何工作的?)有什么想法或指示/引导去哪里检查吗?这真是令人费解的Prestashop文档将是第一个调用点看看它们的密码散列的区别md5()的方式没有改变从理论上讲,它们应该是相同的。你可以通过在一个文件中单独执行一个简单的
来测试它,并将其上传到两台服务器。如果它在两台服务器上都显示出相同的结果,那么问题在于prestashop的工作方式发生了变化。对更改日志和salt技术的一些参考可以改进你的答案。