Хеширование пароля - PullRequest
       2

Хеширование пароля

6 голосов
/ 04 декабря 2011

Я создал форму входа в систему, но не форму регистрации, поэтому я помещаю информацию о пользователях непосредственно в базу данных sql.
Я обнаружил, что cakephp автоматически хеширует пароль, когда пользователь пытается войти, но прив тот момент, когда я не могу войти, потому что пароль в базе данных не хэширован.
как в CakePHP хэшируются пароли?

Моя соль безопасности Dhhfei38fhDg37dg6Dg208Dh3h380Hrjd3

Не могли бы вы пройти черезчто он делает?

Ответы [ 5 ]

9 голосов
/ 04 декабря 2011

Хешированные пароли в CakePHP создаются:

$hashedPasswords = Security::hash($yourPass, NULL, true);

Для получения дополнительной информации обратитесь к руководству CakePHP

4 голосов
/ 01 марта 2013
debug(AuthComponent::password("your-password"));

Это если вы хэшируете свой пароль таким образом в своей пользовательской модели.

public function beforeSave() {
    if (isset($this->data[$this->alias]['password'])) {
        $this->data[$this->alias]['password'] = AuthComponent::password($this->data[$this->alias]['password']);
    }
    return true;
}

http://book.cakephp.org/2.0/en/core-libraries/components/authentication.html#hashing-passwords

2 голосов
/ 05 декабря 2011

Начиная с Cakephp 2.0, Cake только хэширует пароли в процессе входа в систему, в других местах (например, в методе register ...) пароль не будет автоматически хешироваться, потому что это считается странным поведением для людей, которые плохо знакомы с cakephp. Если вы хотите хешировать пароль, вам нужно использовать метод, описанный Sudhir. Одним из преимуществ того, что Cake больше не хэширует пароли автоматически, является то, что вы можете легче проверять сложность пароля (если есть специальные символы, цифры, буквы и т.д.).

2 голосов
/ 04 декабря 2011

Добавить нового пользователя с паролем. Вы можете взять хеш-значение пароля нового пользователя и вставить его в записи других пользователей.

1 голос
/ 04 декабря 2011

Согласно Как - хэширование пароля в cakephp : "Security :: hash принимает тип sha1."

...