Я сейчас перебираю свой регистрационный код пользователя. Часть, на которой я сейчас концентрируюсь, это часть хэширования пароля.
Что я делаю, так это получаю static_salt из файла конфигурации и использую mt_rand () для генерации dynamic_salt. Я хочу, чтобы этот dynamic_salt хранился в моей базе данных.
Но если я передам метод dynamic_salt () методу create, чтобы отправить его в солевой столбец таблицы в моей базе данных, он просто снова запустит метод и создаст результат, отличный от того, который был получен в моем хэше () метод.
Как лучше всего достичь того, чего я пытаюсь достичь, не могли бы вы показать мне пример, если это возможно?
public function create() {
$dbcolumn->password = $this->hashed();
$dbcolumn->salt = $this->dynamic_salt;
$this->db->insert('users', $dbcolumn);
}
public function dynamic_salt() {
$get_dynamic_salt = mt_rand();
return $get_dynamic_salt;
}
public function hashed() { //hashing method, that also makes
// sha1 and salt password
$static_salt = $this->config->item('encryption_key'); //grab static salt from config file
$dynamic_salt = $this->dynamic_salt();
$password = $this->encrypt->sha1($this->input->post('password')); //encrypt user password
$hashed = sha1($dynamic_salt . $password . $static_salt);
return $hashed;
}