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

Đôi khi chúng tôi đang làm việc với chức năng thay đổi mật khẩu tại thời điểm đó, chúng tôi yêu cầu kiểm tra mật khẩu hiện tại trong ứng dụng laravel 6, laravel 7, laravel 8 và laravel 9. Nếu mật khẩu hiện tại phải khớp, nếu không thì trả về lỗi "mật khẩu cũ của bạn sai"

Ý tôi là chúng tôi có một biểu mẫu với ba trường nhập liệu như dưới đây

1] mật khẩu hiện tại

2] mật khẩu mới

3] xác nhận mật khẩu mới

Khi nó gửi biểu mẫu, chúng tôi phải kiểm tra mật khẩu hiện tại khớp với mật khẩu bảng cơ sở dữ liệu cửa hàng. Vì vậy, laravel lưu trữ mật khẩu băm, theo cách đó chúng ta không thể kiểm tra trực tiếp bằng điều kiện, nhưng Laravel cung cấp Hash facade, Hash. phương thức check[] sẽ giúp bạn thực hiện công việc này

Băm là phương pháp biến đổi chuỗi ký tự thành một giá trị hằng ngắn hoặc nó là một khóa để chỉ ra chuỗi gốc. Hàm băm trong Laravel cung cấp phương thức bảo mật để lưu mật khẩu theo cách được băm, đây là cách ngắn hơn. Hàm băm trong Laravel cung cấp hàm băm Argon2 và Bcrypt để lưu mật khẩu của người dùng. Nếu người dùng đang làm việc trên ứng dụng Laravel, thì Bcrypt được sử dụng để đăng ký và xác thực theo phương thức mặc định. Trong bài viết này, chức năng, triển khai và cấu hình của hoạt động băm trong Laravel được giải thích ngắn gọn

Laravel Hash là gì?

Nói một cách đơn giản, băm được sử dụng như một thuật toán hoặc chức năng để ánh xạ dữ liệu đối tượng để biểu thị giá trị số nguyên. Hàm băm cũng được sử dụng để thu nhỏ các tìm kiếm khi định vị các mục của các đối tượng này trên bản đồ dữ liệu. Ví dụ: các nhà phát triển đã từng lưu trữ dữ liệu trong bảng băm, làm việc trên bản ghi khách hàng ở dạng cặp giá trị và khóa. Băm là phương pháp biến đổi chuỗi ký tự thành một giá trị hằng số nhỏ nhất hay nó tương tự như một khóa định hướng chuỗi thực. Hàm băm Laravel được sử dụng để lưu mật khẩu bằng quá trình băm. Nó sử dụng các phương thức Argon2 và Bcrypt để lưu trữ mật khẩu người dùng trong hàm băm laravel. Nếu người dùng bắt đầu làm việc trên ứng dụng, bộ khởi động bắt đầu hoạt động và theo mặc định, Bcrypt được sử dụng để xác thực và đăng ký

Bắt đầu khóa học phát triển phần mềm miễn phí của bạn

Phát triển web, ngôn ngữ lập trình, kiểm thử phần mềm và những thứ khác

Công dụng của Laravel Hash

Bcrypt là phương pháp tiêu chuẩn để băm mật khẩu, có hệ số công việc linh hoạt. Nó biểu thị rằng thời gian cần thiết để tạo quy trình băm có thể được tối đa hóa khi sức mạnh của phần cứng được tăng lên. Khi băm mật khẩu, nó hoạt động chậm hơn và nên hoạt động theo cách đó. Miễn là thuật toán sử dụng để băm mật khẩu, tin tặc sẽ mất thời gian tối đa để tạo bảng cầu vồng. Quá trình lâu hơn, hiệu quả là băm và bảo mật. Tất cả các giá trị băm có thể có trong chuỗi được sử dụng tại thời điểm tấn công vũ phu khi làm việc trong ứng dụng. Trình điều khiển băm tiêu chuẩn trong ứng dụng được định cấu hình trong config/hashing. php nằm trong tệp cấu hình. Nó hiện được sử dụng chủ yếu trong các trình điều khiển được hỗ trợ như Argon2 và Bcrypt và cũng có thể được áp dụng trong các biến thể Argon2id và biến thể Argon2

Mật khẩu băm có thể được gọi bằng phương thức make trên bảng băm. Nó được sử dụng để điều chỉnh hệ số công việc Bcrypt. Nếu người dùng đang làm việc trên thuật toán Bcrypt, thì kỹ thuật tạo được sử dụng để đạt được hệ số công việc trong thuật toán bằng các phương thức vòng. Và theo mặc định, hệ số công việc được kiểm soát bởi Laravel và nó được chấp nhận cho hầu hết các ứng dụng

$ hashed = hash: make[password, [ “rounds” -> 10,] ];

Gói phát triển phần mềm tất cả trong một[hơn 600 khóa học, hơn 50 dự án]

Giá
Xem khóa học

600+ Khóa học trực tuyến. hơn 50 dự án. Hơn 3000 giờ. Giấy chứng nhận có thể kiểm chứng. Truy cập Trọn đời
4. 6 [85.014 xếp hạng]

Nếu người dùng đang làm việc trên thuật toán Argon2, thì kỹ thuật tạo cho phép người dùng kiểm soát hệ số công việc của thuật toán bằng cách sử dụng thời gian, chức năng luồng và bộ nhớ. Tuy nhiên, các giá trị tiêu chuẩn được quản lý trong Laravel được ngụ ý cho hầu hết các ứng dụng.
Để xác minh mật khẩu khớp với giá trị băm được thực hiện bằng phương pháp kiểm tra. Mặt tiền hàm băm cho phép người dùng đảm bảo rằng chuỗi văn bản tiêu chuẩn đã cho thuộc về hàm băm đã cho.

if [ Hash:: check ['plain-text', $hashed Password]]
{
// If the password matches...
}

Nếu người dùng muốn mật khẩu được băm lại thì anh ta nên sử dụng kỹ thuật Needrehash. Vì vậy, nếu người dùng làm việc trên mặt tiền băm, anh ta được phép quyết định hệ số công việc trong hàm băm đã thay đổi cho đến khi mật khẩu được băm. Rất ít ứng dụng chọn thực hiện kiểm tra này tại thời điểm quy trình xác thực trong ứng dụng

If [Hash:: needsRehash [$hashed] ]
{
$hashed = Hash:: make[‘standard text’];
}

Người dùng cũng có thể tạo mật khẩu băm mới trong laravel bằng cách sử dụng tùy chọn Bcrypt. Cú pháp của Bcrypt là $password = Hash. làm [‘mật khẩu’];

Nó tạo mật khẩu băm trong mô hình hoặc bộ điều khiển, sau đó người dùng có thể chọn nó. Nếu người dùng gửi mật khẩu qua biểu mẫu với sự trợ giúp của phương thức POST, thì anh ta có thể băm mật khẩu bằng cú pháp bên dưới

$ password = Input:: get [ 'password form field']; // password is in form field
$hashed = Hash:: make [$password];

Làm thế nào để sử dụng mật khẩu băm laravel?

Biến $hashed bao gồm mật khẩu được băm trong đó dữ liệu có thể được truy xuất từ ​​biểu mẫu được xác thực thêm và được băm lại và lưu trong cơ sở dữ liệu

  • Trong Laravel 5. Phiên bản người dùng có thể sử dụng cú pháp bên dưới, $password = bcrypt[‘name 1’];
  • Phương pháp khác là sử dụng tinker thủ công trong dấu nhắc lệnh
  • Mở cửa sổ nhắc lệnh và điều hướng đến các dự án có trong thư mục gốc
  • Điều hướng đến thư mục liên quan bằng cách nhập vào cửa sổ tìm kiếm

Cd .

Echo hash:: make [‘some string name’];

  • Nó hiển thị mật khẩu băm trong bảng điều khiển. Bây giờ người dùng có thể sao chép dữ liệu cần thiết. Hàm băm laravel cung cấp phương thức băm Bcrypt được bảo mật để bao gồm khoảng trống để lưu mật khẩu người dùng. Nếu người dùng có bộ điều khiển đăng nhập và lớp bộ điều khiển đăng ký được bao gồm trong ứng dụng laravel sẽ tự động hóa Bcrypt để xác thực và đăng ký. Đó là một lựa chọn thích ứng để băm mật khẩu vì yếu tố công việc linh hoạt

Chủ Đề