Как создать пароль хэширования laravel

Я пытаюсь создать хешированный пароль для Laravel. Теперь кто-то сказал мне использовать помощника хэша Laravel, но я не могу его найти или я искал неправильное направление.

Как создать пароль для хэширования laravel? И где?

Изменить: я знаю, что такое код, но я не знаю, где и как его использовать, поэтому он возвращает мне хешированный пароль. Если я получу хешированный пароль, тогда я могу вручную вставить его в базу данных

Хеширование пароля с помощью Bcrypt в Laravel :

 $password = Hash::make('yourpassword'); 

Это создаст хешированный пароль. Вы можете использовать его в своем контроллере или даже в модели, например, если пользователь отправляет пароль с помощью формы на ваш контроллер, используя метод POST тогда вы можете использовать его так:

 $password = Input::get('passwordformfield'); // password is form field $hashed = Hash::make($password); 

Здесь $hashed будет содержать хешированный пароль. В основном, вы сделаете это при создании / регистрации нового пользователя, например, если пользователь отправляет данные, такие как name , email , username и password т. Д., Используя форму, а затем перед вставкой данных в базу данных вы После ввода данных будет сохранен пароль. Для получения дополнительной информации прочтите документацию .

Обновить:

 $password = 'JohnDoe'; $hashedPassword = Hash::make($password); echo $hashedPassword; // $2y$10$jSAr/RwmjhwioDlJErOk9OQEO7huLz9O6Iuf/udyGbHPiTNuB3Iuy 

Итак, вы $hashedPassword в базу данных. Надеюсь, теперь ясно, и если все-таки вы в замешательстве, я предлагаю вам прочитать некоторые уроки, посмотреть некоторые ролики на laracasts.com и tutsplus.com, а также прочитать книгу о Laravel , это бесплатная электронная книга , вы можете скачать ее ,

Обновление: поскольку OP хочет вручную шифровать пароль, используя Laravel Hash без какого-либо класса или формы, так что это альтернативный способ использования artisan tinker из командной строки:

  1. Перейдите в командную строку / терминал
  2. Перейдите к установке Laravel (корневой каталог вашего проекта)
  3. Используйте cd <directory name> и нажмите enter из командной строки / терминала
  4. Затем напишите php artisan tinker и нажмите enter.
  5. Затем напишите echo Hash::make('somestring');
  6. Вы получите хешированный пароль на консоли, скопируете его и затем сделаете все, что хотите.

Обновление (Laravel 5.x):

 // Also one can use bcrypt $password = bcrypt('JohnDoe'); 

Laravel 5 использует bcrypt . Таким образом, вы можете это сделать.

 $hashedpassword = bcrypt('plaintextpassword'); 

выход которого можно сохранить в поле пароля таблицы базы данных.

Fn Ссылка: bcrypt

Чтобы сохранить пароль в базе данных, введите хэш пароля и затем сохраните.

 $password = Input::get('password_from_user'); $hashed = Hash::make($password); // save $hashed value 

Чтобы проверить пароль, введите пароль в базу данных из базы данных

 // $user is database object // $inputs is Input from user if( \Illuminate\Support\Facades\Hash::check( $inputs['password'], $user['password']) == false) { // Password is not matching } else { // Password is matching } 

Вы можете использовать следующее:

 $hashed_password = Hash::make('Your Unhashed Password'); 

Вы можете найти дополнительную информацию: здесь

В BcryptHasher.php вы можете найти хеш-код:

 public function make($value, array $options = array()) { $cost = isset($options['rounds']) ? $options['rounds'] : $this->rounds; $hash = password_hash($value, PASSWORD_BCRYPT, array('cost' => $cost)); $hash = password_hash($value, PASSWORD_BCRYPT, array('cost' => $cost)); echo $value.' '.PASSWORD_BCRYPT.' '.$cost.' '; echo $hash;die(); if ($hash === false) { throw new RuntimeException("Bcrypt hashing not supported."); } return $hash; } 
 $pasword = 'user-password'; $hash = password_hash($password, PASSWORD_DEFAULT); 

Хешированный пароль такой же, как пароль larvel 5.x bcrypt.

Не нужно давать соль и стоимость, она будет принимать значения по умолчанию.

вы можете сгенерировать с помощью Convert-to-md5.xyz

Фасад Laravel Hash обеспечивает безопасное хэширование Bcrypt для хранения пользовательских паролей.

Для базового использования потребовались две вещи:

Сначала включите Facade в свой файл

 use Illuminate\Support\Facades\Hash; 

и используйте метод создания для генерации пароля.

 $hashedPassword = Hash::make($request->newPassword); 

и если вы хотите совместить строку Hashed, вы можете использовать приведенный ниже код:

 Hash::check($request->newPasswordAtLogin, $hashedPassword) 

Вы можете узнать больше с ссылкой на документ Laravel ниже для Hashing: https://laravel.com/docs/5.5/hashing

ok, это выдержка из функции make в hash.php

  $work = str_pad(8, 2, '0', STR_PAD_LEFT); // Bcrypt expects the salt to be 22 base64 encoded characters including // dots and slashes. We will get rid of the plus signs included in the // base64 data and replace them with dots. if (function_exists('openssl_random_pseudo_bytes')) { $salt = openssl_random_pseudo_bytes(16); } else { $salt = Str::random(40); } $salt = substr(strtr(base64_encode($salt), '+', '.'), 0 , 22); echo crypt('yourpassword', '$2a$'.$work.'$'.$salt); 

Просто скопируйте / вставьте его в файл php и запустите его.