Laravel - แฮชชิ่ง

การแฮชเป็นกระบวนการในการแปลงสตริงของอักขระให้เป็นค่าคงที่ที่สั้นกว่าหรือคีย์ที่แสดงถึงสตริงดั้งเดิม Laravel ใช้ไฟล์Hash ซุ้มซึ่งเป็นวิธีที่ปลอดภัยในการจัดเก็บรหัสผ่านในลักษณะแฮช

การใช้งานพื้นฐาน

ภาพหน้าจอต่อไปนี้แสดงวิธีสร้างตัวควบคุมที่ชื่อ passwordController ซึ่งใช้สำหรับจัดเก็บและอัปเดตรหัสผ่าน -

โค้ดบรรทัดต่อไปนี้อธิบายการทำงานและการใช้งานไฟล์ 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();
   }
}

รหัสผ่านที่แฮชจะถูกเก็บไว้โดยใช้ makeวิธี. วิธีนี้ช่วยให้สามารถจัดการปัจจัยการทำงานของไฟล์bcrypt อัลกอริทึมการแฮชซึ่งนิยมใช้ใน Laravel

การยืนยันรหัสผ่านกับแฮช

คุณควรตรวจสอบรหัสผ่านกับแฮชเพื่อตรวจสอบสตริงที่ใช้สำหรับการแปลง สำหรับสิ่งนี้คุณสามารถใช้ไฟล์checkวิธี. สิ่งนี้แสดงในรหัสที่ระบุด้านล่าง -

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

โปรดทราบว่าไฟล์ check วิธีการเปรียบเทียบข้อความธรรมดากับไฟล์ hashedPassword ตัวแปรและหากผลลัพธ์เป็นจริงจะส่งกลับค่าจริง