Laravel - Hashing

Hashing là quá trình biến đổi một chuỗi ký tự thành một giá trị cố định ngắn hơn hoặc một khóa đại diện cho chuỗi ban đầu. Laravel sử dụngHash mặt tiền cung cấp một cách an toàn để lưu trữ mật khẩu theo cách băm.

Cách sử dụng cơ bản

Ảnh chụp màn hình sau đây cho thấy cách tạo bộ điều khiển có tên passwordController được sử dụng để lưu trữ và cập nhật mật khẩu -

Các dòng mã sau giải thích chức năng và cách sử dụng passwordController -

<?php

namespace App\Http\Controllers;

use Illuminate\Http\Request;
use Illuminate\Support\Facades\Hash;
use App\Http\Controllers\Controller

class passwordController extends Controller{
   /**
      * Updating the password for the user.
      *
      * @param Request $request
      * @return Response
   */
   
   public function update(Request $request) {
      // Validate the new password length...
      $request->user()->fill([
         'password' => Hash::make($request->newPassword) // Hashing passwords
      ])->save();
   }
}

Mật khẩu băm được lưu trữ bằng makephương pháp. Phương pháp này cho phép quản lý yếu tố công việc củabcrypt thuật toán băm, được sử dụng phổ biến trong Laravel.

Xác minh mật khẩu chống lại băm

Bạn nên xác minh mật khẩu dựa trên băm để kiểm tra chuỗi được sử dụng để chuyển đổi. Đối với điều này, bạn có thể sử dụngcheckphương pháp. Điều này được hiển thị trong đoạn mã dưới đây -

if (Hash::check('plain-text', $hashedPassword)) {
   // The passwords match...
}

Lưu ý rằng check phương pháp so sánh văn bản thuần túy với hashedPassword và nếu kết quả là true, nó sẽ trả về một giá trị true.