Lumen, các mật mã được hỗ trợ duy nhất là aes-128-cbc và aes-256-cbc với độ dài khóa chính xác.

Tôi gặp vấn đề tương tự với Laravel 5. 3 [trên máy chủ windows]. Tôi đã làm tất cả những nỗ lực có thể. đã kiểm tra. tệp env, cấu hình, tạo khóa thủ công mới, bộ đệm. rõ ràng, cấu hình. rõ ràng, bản cập nhật của nhà soạn nhạc, nhưng sự cố vẫn tiếp diễn một cách ngẫu nhiên

Lưu ý rằng chính xác cùng một mã với cùng một phiên bản chính xác của apache, mysql, php, không tạo ra sự cố này trên Mac OS

Tôi thấy rằng khóa [tham số đầu tiên của hàm tạo Mã hóa] đến "đôi khi" trống và tất nhiên là không thành công. Hầu hết thời gian khóa là chính xác, nhưng ngẫu nhiên khóa đến trống từ Nhà cung cấp dịch vụ mã hóa đến lượt nó yêu cầu cấu hình ứng dụng

Vì vậy, giải pháp duy nhất phù hợp với tôi là thêm if [$key] vào Encryption iServiceProvider để hàm tạo Mã hóa không được gọi bằng khóa trống

Tất nhiên không phải là một giải pháp "sạch" và cũng không giải thích được vấn đề, nhưng ít nhất cũng tránh được việc tìm thấy tệp nhật ký chứa đầy lỗi. ngoại lệ thời gian chạy. Các mật mã được hỗ trợ duy nhất là AES-128-CBC và AES-256-CBC và các trang được hiển thị chính xác

Nếu đây là lỗi của Laravel thì tôi không biết, nhưng tất nhiên nếu ai đó có thể giải thích điều này thì tôi sẽ rất vui được biết

Nếu bạn đang cài đặt một dự án Laravel mới và bạn gặp lỗi này trong trình điều hướng

RuntimeException trong biên dịch. dòng php 13506.
Các mật mã duy nhất được hỗ trợ là AES-128-CBC và AES-256-CBC với độ dài khóa chính xác.

Điều này là do bạn chưa tạo APP_KEY trong. tập tin env

Nếu bạn thấy. nội dung tệp env bạn thấy

APP_KEY=

Bạn phải thực hiện lệnh này để cập nhật giá trị APP_KEY

php artisan key:generate

Nếu bạn kiểm tra. env, bây giờ bạn có thể thấy giá trị APP_KEY mới

APP_KEY=base64:xFQiUz/QvVj/JRmARS1OVhNVhnNWO/+6/QyThdn593M=

Ok, điều này về cơ bản đã được trả lời, nhưng tôi đã tìm thấy một số lưu ý rằng một trong hai điều đó đã bị rối loạn hoặc táo bón.

Đầu tiên, như đã nói, bạn nên đảm bảo rằng bạn có tệp .env hợp lệ mà bạn có thể thực hiện trong thiết bị đầu cuối bằng cách sao chép tệp .env.example hiện có như vậy

$ cp .env.example .env

Sau đó, tạo Khóa ứng dụng của bạn

$ php artisan key:generate

Khi điều này được thực hiện, hãy chắc chắn để mở của bạn. env và đảm bảo rằng dòng APP_KEY có vẻ chính xác - đây là nơi bắt nguồn sự kinh ngạc của tôi

APP_KEY=base64:MsUJo+qAhIVGPx52r1mbxCYn5YbWtCx8FQ7pTaHEvRo=base64:Ign7MpdXw4FMI5ai7SXXiU2vbraqhyEK1NniKPNJKGY=

Bạn sẽ nhận thấy rằng độ dài khóa bị sai, vì một số lý do không xác định [có thể do chạy khóa. tạo nhiều lần] có hai khóa base64= trong đó. Xóa một cái là cách khắc phục sự cố tôi gặp phải và đây có vẻ là lỗi Artisan/Laravel

Mã hóa AES 128 CBC là gì?

Mã hóa AES 128 bit đề cập đến quá trình che giấu dữ liệu văn bản gốc bằng độ dài khóa AES là 128 bit . Mã hóa AES 128-bit sử dụng 10 vòng chuyển đổi để chuyển văn bản gốc thành văn bản mật mã và được Cơ quan An ninh Quốc gia [NSA] phê duyệt để bảo vệ thông tin bí mật nhưng không phải là thông tin tối mật của chính phủ.

AES là gì

AES-256, có độ dài khóa là 256 bit, hỗ trợ kích thước bit lớn nhất và thực tế không thể phá vỡ bằng vũ lực dựa trên sức mạnh tính toán hiện tại, khiến nó trở thành tiêu chuẩn mã hóa mạnh nhất. Bảng sau đây cho thấy các tổ hợp phím có thể tăng theo cấp số nhân với kích thước khóa

Sự khác biệt giữa AES 256 CBC và AES 256 GCM là gì?

Chế độ hoạt động AES-GCM thực sự có thể được thực hiện song song cho cả mã hóa và giải mã. Bảo mật bổ sung mà phương pháp này cung cấp cũng cho phép VPN chỉ sử dụng khóa 128 bit, trong khi đó AES-CBC thường yêu cầu khóa 256 bit để được coi là an toàn. CBC ciphers were removed in May of 2021.

AES 256 CBC có an toàn không?

Mặc dù AES-CBC với xác thực HMAC thường được coi là an toàn , CBC có khả năng dễ bị tấn công đệm, chẳng hạn như POODLE. GCM không phải là. Proton VPN sử dụng AES-GCM trong bộ mã hóa OpenVPN của chúng tôi.

Chủ Đề