Должен ли я переопределить Security::_crypt() для использования blowfish в Cakephp 2.4.5?

_crypt() в Cakephp 2.4.5 использует $ 2a $, но рекомендуется использовать $ 2y $ вместо $ 2a $, о чем можно прочитать здесь, http://www.php.net/security/crypt_blowfish.php. Похоже, что _crypt() не будет изменен в Cakephp 2.x, как он был изменен в Cakephp 3.0.
Вот _crypt() из Cakephp 2.4.5:

protected static function _crypt($password, $salt = false) {
    if ($salt === false) {
        $salt = self::_salt(22);
        $salt = vsprintf('$2a$%02d$%s', array(self::$hashCost, $salt));
    }

    if ($salt === true || strpos($salt, '$2a$') !== 0 || strlen($salt) < 29) {
        trigger_error(__d(
            'cake_dev',
            'Invalid salt: %s for %s Please visit http://www.php.net/crypt and read the appropriate section for building %s salts.',
            array($salt, 'blowfish', 'blowfish')
        ), E_USER_WARNING);
        return '';
    }
    return crypt($password, $salt);
}

А вот _crypt() из Cakephp 3.0:

   protected static function _crypt($password, $salt = false) {
     if ($salt === false) {
        $salt = static::_salt(22);
        $salt = vsprintf('$2y$%02d$%s', array(static::$hashCost, $salt));
    }

    if ($salt === true || strpos($salt, '$2y$') !== 0 || strlen($salt) < 29) {
        throw new Error\Exception(sprintf(
            'Invalid salt: %s for blowfish Please visit http://www.php.net/crypt and read the appropriate section for building blowfish salts.',
            $salt
        ));
    }
    return crypt($password, $salt);
}  

Что я сломаю, если я использую код _crypt() из Cakephp 3.0 для переопределения _crypt() в Cakephp 2.4.5? Они почти одинаковые. Я новичок в Cakephp и мне нужен совет.

0 ответов

Другие вопросы по тегам