Zen Cart 的密码加密算法

Zen Cart 对用户输入的密码字符进行了MD5 加密。

但是不是直接将用户输入的密码字符进行加密的,而是使用了干扰字符串。

加密函数在 includes\functions\password_funcs.php 文件中

加密函数名为:zen_encrypt_password

// This function makes a new password from a plaintext password. 
  function zen_encrypt_password($plain) {
    $password = '';

    for ($i=0; $i<10; $i++) {
      $password .= zen_rand();
    }

    $salt = substr(md5($password), 0, 2);

    $password = md5($salt . $plain) . ':' . $salt;

    return $password;
  }

这个是老版本的,新的已经换算了。

用的是新的 SHA256 算法。

源代码:zencart/includes/functions/password_funcs.php at master · zencart/zencart · GitHub

主要还是因为 MD5 算法现在已经不安全了,在用户密码上,不建议使用 MD5 算法。