Ну ... Я думаю, это было проще, чем я думал.
аутентификации Cake вызывает пароль метод из Auth, а затем вызывает хэш из безопасности класса.
//Auth class
function password($password) {
return Security::hash($password, null, true);
}
В безопасности, по умолчанию, он использует sha1 метод с солью и паролем каскадного; соль - случайная строка, генерируемая во время установки пирога, его значение записывается в файл 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';
}
//...
}
Затем мне нужна эта реализация для следующей системы и флаг предыдущих пользователей от новых пользователей. При первом входе в систему пользователи получат форму для ввода нового пароля с использованием нового метода хеширования из новой системы.