我的一位客户正在使用Open Cart作为电子商务平台。他们正在转向基于节点的自定义系统,并且我们已经问过我们可以移植客户及其登录,包括使用MD5盐的sha1加密密码。
以下是保存密码的查询:
$this->db->query("UPDATE " . DB_PREFIX . "customer SET salt = '" . $this->db->escape($salt = substr(md5(uniqid(rand(), true)), 0, 9)) . "', password = '" . $this->db->escape(sha1($salt . sha1($salt . sha1($password)))) . "' WHERE LOWER(email) = '" . $this->db->escape(utf8_strtolower($email)) . "'");
因此,如果我通过电子邮件地址为每个客户检索盐并使用相同的盐加密输入密码sha1,我实际上是否能够将输入密码与先前在PHP中加密并存储在mysql中的密码相匹配?