Rumah >pembangunan bahagian belakang >tutorial php >Bagaimanakah Saya Boleh Memindahkan Penyulitan PHP Saya dengan Selamat dari Mcrypt ke OpenSSL?
Mengelakkan Sakit Kepala Penyulitan: Peralihan daripada Mcrypt kepada OpenSSL
Mcrypt, modul PHP lama, akan menghentikan sokongan dalam PHP 7.2. Penggantian yang disyorkan, OpenSSL, mempunyai nuansa pelaksanaan yang sedikit berbeza. Artikel ini meneroka cara untuk memindahkan kod secara berkesan daripada Mcrypt ke OpenSSL sambil mengekalkan sifat penyulitan kritikal.
Menukar Kod Mcrypt kepada OpenSSL
Secara khusus, mari pertimbangkan kod Mcrypt berikut yang menggunakan AES 256 CBC penyulitan:
function encrypt($masterPassword, $data) { // ... (Omitted for brevity) return base64_encode($iv . $encrypted); } function decrypt($masterPassword, $base64) { // ... (Omitted for brevity) return trim($decrypted); }
Adalah penting untuk ambil perhatian bahawa Rijndael-256 (digunakan oleh Mcrypt) tidak sama dengan AES-256 (digunakan oleh OpenSSL). OpenSSL tidak mempunyai sokongan Rijndael-256.
Penyulitan Semula Diperlukan
Oleh itu, penukaran langsung tidak dapat dilaksanakan. Sebaliknya, semua data yang disulitkan mesti disulitkan semula menggunakan AES-256 di bawah OpenSSL.
Mengatasi Isu Tambahan
Selain itu, kod asal menunjukkan beberapa kebimbangan penyulitan yang ketara:
OpenSSL memudahkan pelapik, tetapi perpustakaan penyulitan khusus seperti defuse/php-encryption boleh meningkatkan keselamatan dan kemudahan walaupun selanjutnya.
Kesimpulan
Peralihan daripada Mcrypt kepada OpenSSL memerlukan pertimbangan yang teliti terhadap kehalusan penyulitan ini. Dengan menyulitkan semula data dan menangani kelemahan tambahan, pembangun boleh terus melindungi aplikasi mereka dengan berkesan tanpa adanya sokongan Mcrypt. OpenSSL dan defuse/php-encryption menawarkan alternatif yang teguh untuk penyulitan yang boleh dipercayai.
Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Memindahkan Penyulitan PHP Saya dengan Selamat dari Mcrypt ke OpenSSL?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!