Hướng dẫn mcrypt_encrypt alternative php 7 - mcrypt_encrypt thay thế php 7
Hàm McRypt đã được không dùng nữa kể từ Php 7.1.0. Chức năng mã hóa / giải mã chuỗi không dùng của tôi:
Bạn có thể đề xuất một số lựa chọn thay thế? hỏi ngày 19 tháng 1 năm 2017 lúc 11:24Jan 19, 2017 at 11:24
3 Thay vào đó, bạn nên sử dụng openSSL_encrypt.
Tim Cooper 154K37 Huy hiệu vàng322 Huy hiệu bạc275 Huy hiệu Đồng37 gold badges322 silver badges275 bronze badges Đã trả lời ngày 19 tháng 1 năm 2017 lúc 11:43Jan 19, 2017 at 11:43
Aleksa Arsićaleksa ArsićAleksa Arsić 5241 Huy hiệu vàng9 Huy hiệu bạc15 Huy hiệu đồng1 gold badge9 silver badges15 bronze badges 1 Xem xét sử dụng Defuse hoặc RNCryptor, chúng cung cấp một giải pháp hoàn chỉnh, đang được duy trì và là chính xác. Đã trả lời ngày 19 tháng 1 năm 2017 lúc 12:10Jan 19, 2017 at 12:10
Zaphzaphzaph Huy hiệu vàng 111K2121 gold badges188 silver badges224 bronze badges Đối với snippet: hoạt động như thế này với thư viện phpseclib
Đã trả lời ngày 26 tháng 12 năm 2018 lúc 21:33Dec 26, 2018 at 21:33
Pentium10Pentium10Pentium10 202K119 Huy hiệu vàng414 Huy hiệu bạc494 Huy hiệu đồng119 gold badges414 silver badges494 bronze badges
McRypt có thể bị xóa trong Php 7.1 OpenSSL thay thế may be removed in PHP 7.1 alternative openssl Đã trả lời ngày 29 tháng 5 năm 2019 lúc 6:48May 29, 2019 at 6:48
Như đã đề cập ở trên, Open_SSL là một giải pháp thay thế tốt cho McRypt. Vấn đề duy nhất tôi gặp phải với Open_SSL, là nó không thể được sử dụng cho các chuỗi lớn. Tôi đã viết một kịch bản (lớp tĩnh), khắc phục vấn đề này (các chuỗi lớn được chia thành các khối và được mã hóa/giải mã riêng biệt trong nền). Xem Công khai Gist: https://gist.github.com/petermuller71/33616D55174D9725FC00A663D30194BA Đã trả lời ngày 22 tháng 11 năm 2017 lúc 9:27Nov 22, 2017 at 9:27
Sau khi điều tra thêm, tôi đã mở rộng câu trả lời của mình và chia nó thành hai. Đầu tiên giải quyết vấn đề McRypt và Php 7.2 và sau đó là khả năng tương thích của Drupal/Civicrm và Php 7.2. Php 7.2 và McRyptNhư đã nêu ở trên và trích dẫn liên kết với các hướng dẫn cài đặt cho McRypt:
Có một lý do tại sao McRypt bị xóa khỏi Php 7.2, việc tự cài đặt nó không phải là một ý tưởng tốt.
Ngoài ra, libsodium đã được sử dụng để thay thế McRypt trong bản phát hành PHP mới nhất (7.2). Trong trường hợp của Drupal, bạn có thể đọc nhận xét sau trong vấn đề này, nơi bạn cũng có tùy chọn sử dụng phpseclib:libsodium was used to replace mcrypt in the latest php release (7.2). In the case of Drupal, you can read the following comment in this issue, where you also have the option of using phpseclib:
Vì vậy, với PHP 7.2, bạn có thể sử dụng libsodium, phpseclib hoặc openSSL nếu bạn quan tâm đến bảo mật ứng dụng của mình và dành thời gian để thực hiện nó. Drupal / Civicrm và Php 7.2Drupal 7 không hỗ trợ PHP 7. 2 Trong bản phát hành 7.59 hiện tại của nó, nó sẽ từ phiên bản 7.60 trở đi. Civicrm 5.x hỗ trợ lên đến Php 7.1 Như bạn có thể thấy, cả hai đều hỗ trợ Php 7.1, vì vậy tôi sẽ khuyên bạn nên cài đặt phiên bản đó thay vì 7.2 và mọi thứ nên hoạt động như mong đợi. |