Encryp trong Laravel 6
Giới thiệu
Bộ mã hóa Laravel sử dụng là OpenSSL, cung ứng những loại mã hóa AES-256 và AES-128. Bạn được khuyến khích sử dụng những mạng lưới hệ thống mã hóa đi kèm với Laravel và đừng nỗ lực tạo ra những thuật toán mã hóa ” home grown ” của riêng bạn. Tất cả những giá trị được mã hóa bởi Laravel đều được ký bằng message authentication code ( MAC ) để không hề bị sửa đổi giá trị của chúng sau khi đã được mã hóa .
Cấu hình
Trước khi sử dụng bộ mã hóa của Laravel, bạn cần phải cài đặt tùy chọn
key
trong file cấu hìnhconfig/app.php
của bạn. Bạn nên sử dụng lệnhphp artisan key:generate
để tạo key này vì lệnh Artisan này sẽ sử dụng trình tạo byte ngẫu nhiên an toàn của PHP để tạo key cho bạn. Nếu giá trị này không được cài đặt đúng cách, tất cả các giá trị được mã hóa bởi Laravel sẽ không an toàn.Bạn đang đọc: Encryp trong Laravel 6
Xem thêm: Tìm việc Làm Giám đốc Đầu tư và Phát triển Dự án Tuyển Dụng 19/04/2023 | https://thomaygiat.com
Xem thêm: Tìm việc Làm Giám đốc Đầu tư và Phát triển Dự án Tuyển Dụng 19/04/2023 | https://thomaygiat.com
Dùng Encrypter
Encrypting A Value
Bạn có thể mã hóa một giá trị bằng cách sử dụng helper
encrypt
. Tất cả các giá trị mã hóa đều được mã hóa bằng OpenSSL và mật mãAES-256-CBC
. Hơn nữa, tất cả các giá trị mã hóa mà được ký bằng message authentication code (MAC) đều có thể phát hiện bất kỳ sửa đổi nào đối với giá trị đã được mã hóa:fill([ 'secret' => encrypt($request->secret), ])->save(); } }
Encrypting Without Serialization
Các giá trị đã được mã hóa sẽ được truyền qua
serialize
trong quá trình mã hóa, cho phép bạn mã hóa các đối tượng và mảng. Do đó, các client không phải là PHP nếu nhận được các giá trị đã mã hóa sẽ cần phảiunserialize
dữ liệu. Nếu bạn muốn mã hóa và giải mã các giá trị mà không cần qua serialization, bạn có thể sử dụng các phương thứcencryptString
vàdecryptString
của facadeCrypt
:
use Illuminate\Support\Facades\Crypt;
$encrypted = Crypt::encryptString('Hello world.');
$decrypted = Crypt::decryptString($encrypted);
Decrypting A Value
Bạn có thể giải mã các giá trị bằng cách sử dụng helper decrypt
. Nếu giá trị không thể được giải mã chính xác, chẳng hạn như khi MAC không hợp lệ, một Illuminate\Contracts\Encryption\DecryptException
sẽ được tạo ra:
use Illuminate\Contracts\Encryption\DecryptException;
try {
$decrypted = decrypt($encryptedValue);
} catch (DecryptException $e) {
//
}
Source: https://thomaygiat.com
Category : Kỹ Thuật Số
Chuyển vùng quốc tế MobiFone và 4 điều cần biết – MobifoneGo
Muốn chuyển vùng quốc tế đối với thuê bao MobiFone thì có những cách nào? Đừng lo lắng, bài viết này của MobiFoneGo sẽ giúp…
Cách copy dữ liệu từ ổ cứng này sang ổ cứng khác
Bạn đang vướng mắc không biết làm thế nào để hoàn toàn có thể copy dữ liệu từ ổ cứng này sang ổ cứng khác…
Hướng dẫn xử lý dữ liệu từ máy chấm công bằng Excel
Hướng dẫn xử lý dữ liệu từ máy chấm công bằng Excel Xử lý dữ liệu từ máy chấm công là việc làm vô cùng…
Cách nhanh nhất để chuyển đổi từ Android sang iPhone 11 | https://thomaygiat.com
Bạn đã mua cho mình một chiếc iPhone 11 mới lạ vừa ra mắt, hoặc có thể bạn đã vung tiền và có một chiếc…
Giải pháp bảo mật thông tin trong các hệ cơ sở dữ liệu phổ biến hiện nay
Hiện nay, với sự phát triển mạnh mẽ của công nghệ 4.0 trong đó có internet và các thiết bị công nghệ số. Với các…
4 điều bạn cần lưu ý khi sao lưu dữ liệu trên máy tính
08/10/2020những chú ý khi tiến hành sao lưu dữ liệu trên máy tính trong bài viết dưới đây của máy tính An Phát để bạn…