Rumah >pembangunan bahagian belakang >tutorial php >Apakah Alternatif Selamat kepada Sambungan mcrypt yang Dihentikan untuk Penyulitan dan Penyahsulitan Kata Laluan?
Alternatif kepada Sambungan mcrypt yang Dihentikan untuk Penyulitan Kata Laluan
Sambungan mcrypt, yang sebelum ini digunakan untuk penyulitan kata laluan, telah ditamatkan dan akan dialih keluar sepenuhnya dalam PHP 7.2. Ini menimbulkan kebimbangan tentang mencari alternatif yang sesuai untuk penyulitan kata laluan selamat.
Pendekatan Disyorkan: Pencirian Kata Laluan
Sebagai amalan terbaik, adalah amat disyorkan untuk mencincang kata laluan dan bukannya menyulitkan mereka. Hashing menukar kata laluan kepada nilai yang tidak boleh diterbalikkan, menjadikannya tidak mungkin untuk penyerang memulihkan kata laluan asal walaupun mereka mendapat akses kepada pangkalan data atau fail anda.
Kaedah Penyulitan Alternatif
Walau bagaimanapun, jika anda memerlukan penyulitan untuk kata laluan anda dan memerlukan keupayaan untuk menyahsulitnya, pilihan berikut adalah disyorkan:
Contoh Kod
Untuk menggunakan salah satu daripada alternatif ini, anda boleh mengikut struktur yang serupa dengan mcrypt asal anda kod:
// Generate a secure random initialization vector $iv = random_bytes(16); // Encrypt the password using AES-256 in CBC mode // Note: Replace key with a securely generated encryption key $encrypted = openssl_encrypt($string, 'aes-256-cbc', $key, OPENSSL_RAW_DATA, $iv); // Store the encrypted password and initialization vector for later decryption
Penyahsulitan
Penyahsulitan boleh dilakukan menggunakan perpustakaan dan kunci yang sama:
// Decrypt the encrypted password using AES-256 in CBC mode $decrypted = openssl_decrypt($encrypted, 'aes-256-cbc', $key, OPENSSL_RAW_DATA, $iv);
Atas ialah kandungan terperinci Apakah Alternatif Selamat kepada Sambungan mcrypt yang Dihentikan untuk Penyulitan dan Penyahsulitan Kata Laluan?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!