Laravel – Encryption Mã hóa – dongthoigian

Mã hóa là một quy trình quy đổi một văn bản thuần túy thành một tin nhắn bằng cách sử dụng 1 số ít thuật toán mà bất kể người dùng thứ ba nào cũng không hề đọc được thông tin. Điều này rất có ích cho việc truyền thông tin nhạy cảm vì có ít thời cơ cho kẻ xâm nhập nhắm tiềm năng thông tin được chuyển hơn .

Mã hóa được thực hiện bằng một quá trình gọi là Cryptography . Văn bản sẽ được mã hóa được gọi là Văn bản thuần túy và văn bản hoặc tin nhắn thu được sau khi mã hóa được gọi là Văn bản mật mã . Quá trình chuyển đổi văn bản mật mã sang văn bản thuần túy được gọi là Giải mã .

Laravel sử dụng mã hóa AES-256 và AES-128 , sử dụng Open SSL để mã hóa. Tất cả các giá trị có trong Laravel đều được ký bằng cách sử dụng Mã xác thực thông báo giao thức để giá trị cơ bản không thể bị giả mạo khi nó được mã hóa.

Cấu hình

Lệnh được sử dụng để tạo khóa trong Laravel được hiển thị bên dưới:

php artisan key:generate

Xin quan tâm rằng lệnh này sử dụng trình tạo byte ngẫu nhiên bảo đảm an toàn của PHP và bạn hoàn toàn có thể thấy đầu ra như được hiển thị trong ảnh chụp màn hình hiển thị bên dưới :
laravel mã hóa

Lệnh được đưa ra ở trên giúp tạo khóa có thể được sử dụng trong ứng dụng web. Quan sát ảnh chụp màn hình được hiển thị bên dưới –

Ghi chú

Các giá trị mã hóa được căn chỉnh chính xác trong tệp config / app.php , bao gồm hai tham số để mã hóa là khóa và mật mã . Nếu giá trị sử dụng khóa này không được căn chỉnh đúng, tất cả các giá trị được mã hóa trong Laravel sẽ không an toàn.

Quy trình mã hóa

Mã hóa một giá trị có thể được thực hiện bằng cách sử dụng trình trợ giúp mã hóa trong bộ điều khiển của lớp Laravel. Các giá trị này được mã hóa bằng OpenSSL và AES-256 cipher. Tất cả các giá trị được mã hóa được ký bằng mã Xác thực Thư (MAC) để kiểm tra bất kỳ sửa đổi nào của chuỗi được mã hóa.

laravel
Đoạn mã hiển thị bên dưới được đề cập trong một bộ tinh chỉnh và điều khiển và được sử dụng để tàng trữ bí hiểm hoặc tin nhắn nhạy cảm .

fill([
         'secret' => encrypt($request->secret)
      ])->save();
   }
}

Quy trình giải mã

Việc giải mã các giá trị được thực hiện với trình trợ giúp giải mã . Quan sát các dòng mã sau:

use Illuminate\Contracts\Encryption\DecryptException;

// Exception for decryption thrown in facade
try {
   $decrypted = decrypt($encryptedValue);
} catch (DecryptException $e) {
   //
}

Xin chú ý quan tâm rằng nếu quy trình giải thuật không thành công xuất sắc do MAC không hợp lệ đang được sử dụng, thì một ngoại lệ thích hợp sẽ được ném ra .

Laravel – Encryption Mã hóa – dongthoigian

Bài viết liên quan
Hotline 24/7: O984.666.352
Alternate Text Gọi ngay