密码加密使用opencart数据库进行全站点登录

时间:2015-05-06 01:35:41

标签: php encryption opencart

你好希望我可以指出正确的方向并获得一些清晰度,因为我现在很困惑。

我有一个网站,也有opencart(版本1.5.6.1)附加两个风格看起来相同。我已经到了需要用户登录MY网站服务的地步,但我真的不希望用户创建两组数据,一组用于商店,另一组用于我的服务。我做过研究,发现我可以在opencart数据库中添加信息,而不是拥有两个独立的数据库。

一直进展到密码加密,opencart(显然)使用“salt sha1”加密

我在网站上使用的工具有这个代码(md5加密):

$crypt_pwd = md5($password);

我知道我在这里问的是相对愚蠢的问题,但是我如何添加到我的网站代码支持相同的加密?即使只是一个正确方向的指针也会有所帮助:)

2 个答案:

答案 0 :(得分:3)

实际上Opencart支持两种方案,因此您只需在customer表中使用md5哈希密码即可。在这种情况下,您可以简单地将盐留空。

作为参考点,请查看login()system/library/customer.php方法中使用的此查询,该方法是验证登录的位置:

SELECT * FROM customer
WHERE LOWER(email) = '" . $this->db->escape(utf8_strtolower($email)) . "' 
    AND
    (
        password = SHA1(CONCAT(salt, SHA1(CONCAT(salt, SHA1('" . $this->db->escape($password) . "')))))
        OR password = '" . $this->db->escape(md5($password)) . "'
    )
    AND status = '1'
    AND approved = '1'

请注意,数据库字段与具有salt OR md5哈希版本的SHA1匹配。

答案 1 :(得分:-3)

http://php.net/manual/en/function.sha1.php

$encrypted = sha($passphrase);
//or 
$salt = "my secret salt ASF8908sjQ@Te8u";
$encrypted = sha($salt . $passphrase);