Cake 1.3使用哪种算法来密码密码?

时间:2015-10-14 13:29:30

标签: hash passwords cakephp-1.3

我需要将表格users从cakephp 1.3传输到另一个系统,但我们不希望重置用户的所有密码。该算法如何工作,使用cakephp 1.3来对用户进行哈希处理'密码?

提前致谢!

1 个答案:

答案 0 :(得分:0)

嗯......我认为这比我想象的要简单。

Cake身份验证从 Auth 调用密码方法,然后从安全类调用哈希

//Auth class
function password($password) {
    return Security::hash($password, null, true);
}

安全中,默认使用 sha1 方法连接salt和密码; salt是蛋糕安装过程中生成的随机字符串,其值写在 core.php 文件中。

//Security class
function hash($string, $type = null, $salt = false) {
    $_this = Security::getInstance();

    if ($salt) {
        if (is_string($salt)) {
            $string = $salt . $string;
        } else {
            $string = Configure::read('Security.salt') . $string;
        }
    }

    if (empty($type)) {
        $type = $_this->hashType;
    }
    $type = strtolower($type);

    if ($type == 'sha1' || $type == null) {
        if (function_exists('sha1')) {
            $return = sha1($string);
            return $return;
        }
        $type = 'sha256';
    }

    //...
}

然后,我需要的是将此实现带到下一个系统并从新用户标记以前的用户。首次登录时,用户将看到一个表单,使用新系统中的新哈希方法输入新密码。