Làm thế nào để mật khẩu băm so với Laravel?

Trong bài viết này, chúng tôi sẽ chia sẻ với bạn cách kiểm tra chuỗi mật khẩu hiện tại của bạn với sự trợ giúp của hàm băm tạo mật khẩu của laravel. chức năng kiểm tra []. chúng tôi biết mật khẩu lưu trữ laravel ở định dạng băm nên mật khẩu không được nhìn thấy ở định dạng có thể đọc được. vậy, làm cách nào để kiểm tra bất kỳ chuỗi nào với chuỗi mật khẩu của laravel đã chuyển đổi hàm băm đó?

Nhiều khi bạn cần so sánh bất kỳ chuỗi mật khẩu nào với chuỗi băm mật khẩu cũ của laravel. điều này là cần thiết khi chúng tôi xây dựng chức năng thay đổi mật khẩu trong một ứng dụng. trước khi thay đổi mật khẩu, chúng tôi muốn kiểm tra xem người dùng nhập chuỗi vào hộp nhập có khớp với chuỗi mật khẩu cũ của mình không?

Bạn có thể thực hiện nó với sự trợ giúp của hàm

$2y$10$KhNRpDYd.UpZZikSLyTlf.hzQAPetwHzWPQkZhyPI3G2PIOI5Qdd2
2 trong ứng dụng laravel của mình

Thí dụ

public function changePassword[Request $request]
{
    $input = $request->all[];
    $user = User::find[auth[]->user[]->id];
    // Check password string with hash string..
    if[!Hash::check[$input['current_password'], $user->password]] {
        dd['Return error with current passowrd is not match.'];
    }else{
        dd['Write here your update password code'];
    }
}

Như bạn có thể thấy, cách kiểm tra chuỗi mật khẩu hiện tại của bạn bằng mật khẩu băm cũ của laravel trong trợ giúp ứng dụng laravel của hàm

$2y$10$KhNRpDYd.UpZZikSLyTlf.hzQAPetwHzWPQkZhyPI3G2PIOI5Qdd2
2

Chúng tôi hy vọng rằng hướng dẫn nhỏ giúp mọi người. nếu bạn biết thêm cách kiểm tra mật khẩu hiện tại bằng mật khẩu cũ trong laravel hoặc bất kỳ vấn đề, câu hỏi nào liên quan đến các hướng dẫn này, vui lòng bình luận bên dưới

Như chúng tôi đã đề cập trước đó,

$2y$10$KhNRpDYd.UpZZikSLyTlf.hzQAPetwHzWPQkZhyPI3G2PIOI5Qdd2
4 không liên quan gì đến mật khẩu băm. Nó được sử dụng để mã hóa và giải mã các giá trị trong ứng dụng của bạn. Mã hóa và băm là hai thứ khác nhau

Mã hóa hoạt động bằng cách xáo trộn dữ liệu, chỉ người có khóa mã hóa mới có thể xắp xếp lại dữ liệu. Mặt khác, băm hoạt động bằng cách chuyển đổi dữ liệu thành một chuỗi có kích thước cố định không thể hoàn nguyên về giá trị ban đầu của nó

Laravel sử dụng hàm băm để lưu trữ mật khẩu trong cơ sở dữ liệu của bạn. Nếu giá trị do người dùng cung cấp là "bí mật", Laravel sẽ lưu trữ thông tin sau trong cơ sở dữ liệu

$2y$10$KhNRpDYd.UpZZikSLyTlf.hzQAPetwHzWPQkZhyPI3G2PIOI5Qdd2

Không có cách nào chúng ta có thể biết giá trị ban đầu. Tuy nhiên, lần sau khi người dùng đăng nhập, chúng tôi có thể so sánh mật khẩu anh ta cung cấp với mật khẩu anh ta chọn khi đăng ký. Nếu vượt qua kiểm tra, điều đó có nghĩa là người dùng đã cung cấp đúng mật khẩu

Trong Laravel, bạn có thể sử dụng mô-đun Hash facade để làm việc với mật khẩu. Nó có bcrypt để giúp bạn lưu trữ mật khẩu của mình một cách an toàn

Phương thức bcrypt[] của Hash facade là một cách hiệu quả để băm mật khẩu. Nó ngăn người dùng độc hại phá mật khẩu được tạo bằng bcrypt[]

Các chi tiết băm có sẵn bên trong config/hashing. php. Trình điều khiển mặc định có bcrypt[] làm hàm băm được sử dụng

Băm mật khẩu

Để làm việc với Hash Facade, bạn cần bao gồm lớp

Illuminate\Support\Facades\Hash

Thí dụ

Để băm mật khẩu, bạn có thể sử dụng phương thức make[]. Dưới đây là một ví dụ về mật khẩu băm

15, ]]; } }

đầu ra

Đầu ra của đoạn mã trên là

$2y$15$QKYQhdKcDSsMmIXZmwyF/.sihzQDhxtgF5WNiy4fdocNm6LiVihZi

Xác minh xem mật khẩu có khớp với mật khẩu được băm hay không

Để xác minh văn bản đơn giản tôi. e văn bản được sử dụng trong Hash. make khớp với cái đã băm là sử dụng phương thức check[]

Phương thức check[] trả về true nếu văn bản thuần túy khớp với mật khẩu đã băm và trả về false nếu nó không khớp

15, ]]; if [Hash::check['password', $hashed]] { echo "Password matching"; } else { echo "Password is not matching"; } } }

đầu ra

Đầu ra của đoạn mã trên là

Password matching

Sử dụng phương thức check[]

Bây giờ chúng ta hãy kiểm tra bằng cách đưa ra văn bản thuần túy sai và xem phản hồi của phương thức check[]

15, ]]; if [Hash::check['password123', $hashed]] { echo "Password matching"; } else { echo "Password is not matching"; } } }

Văn bản đơn giản mà chúng tôi sử dụng trong băm là “mật khẩu”. Trong phương thức kiểm tra, chúng tôi đã sử dụng "password123", vì văn bản không khớp với văn bản được băm nên nó cho kết quả đầu ra "Mật khẩu không khớp"

đầu ra

Khi bạn thực thi bên trong trình duyệt, đầu ra sẽ là –

________số 8

Băm mật khẩu hai lần

Bây giờ chúng ta hãy băm cùng một văn bản hai lần và so sánh nó trong phương thức check[] -

$testhash1 = Hash::make['mypassword']; $testhash2 = Hash::make['mypassword']; if [Hash::check['mypassword', $testhash1] && Hash::check['mypassword', $testhash2]] { echo "Password matching"; } else { echo "Password not matching"; }

Bạn có thể kiểm tra mã hoàn chỉnh trong trình duyệt như bên dưới -

$2y$10$KhNRpDYd.UpZZikSLyTlf.hzQAPetwHzWPQkZhyPI3G2PIOI5Qdd2
0

đầu ra

Đầu ra của đoạn mã trên là -

Password matching

Sử dụng phương thức bcrypt[]

Bạn cũng có thể thử sử dụng phương thức bcrypt[] và kiểm tra văn bản thuần bằng văn bản được băm bằng cách sử dụng Hash. kiểm tra[]

Làm thế nào để laravel khớp với mật khẩu băm?

Từ Laravel 5 trở đi, bạn có thể sử dụng hàm bcrypt[] để băm một văn bản gốc . Vì vậy, bạn có thể lưu mật khẩu đã băm đó trong DB và sau đó, so sánh lại mật khẩu đã băm để khớp. $save_password = bcrypt['plain_text_password']; .

Làm cách nào để so sánh hai mật khẩu được băm trong laravel?

Xác minh xem mật khẩu có khớp với mật khẩu đã băm hay không . e văn bản được sử dụng trong Hash. make khớp với cái đã băm là sử dụng phương thức check[] . Phương thức check[] trả về true nếu văn bản thuần túy khớp với mật khẩu đã băm và trả về false nếu nó không khớp.

Mật khẩu băm được so sánh như thế nào?

Hàm băm chuyển đổi mật khẩu của bạn thành hàm băm. Hàm băm được tạo ra được so sánh với hàm băm được lưu trữ trong cơ sở dữ liệu . Nếu hàm băm được tạo và hàm băm được lưu trữ khớp với nhau, thì bạn được cấp quyền truy cập vào tài khoản. Nếu hàm băm được tạo không khớp, bạn sẽ gặp lỗi đăng nhập.

Làm cách nào để so sánh mật khẩu trong Laravel 8?

GtG của tôi'; . $hash1 = Băm. thực hiện ['kiểm tra']; . thực hiện ['kiểm tra']; . kiểm tra['test', $hash1] && Băm. kiểm tra['test', $hash2]]; html.

Chủ Đề