Rumah > Artikel > pembangunan bahagian belakang > Bagaimanakah Saya Boleh Menyulitkan dan Menyahsulit Fail dengan Selamat dalam PHP Menggunakan Perpustakaan Moden?
Menyulitkan dan Menyahsulit Fail dengan Mcrypt: Pendekatan Moden
Pengenalan
Mcrypt, sekali perpustakaan penyulitan popular untuk PHP, telah ditamatkan dan tidak lagi disyorkan untuk digunakan. Untuk penyulitan fail yang selamat dan boleh dipercayai, alternatif moden seperti OpenSSL atau Sodium PHP menyediakan penyelesaian yang mantap.
Fungsi Penyulitan
Berikut ialah fungsi penyulitan yang dikemas kini menggunakan OpenSSL:
function encryptFile($fileData, $key) { $iv = openssl_random_pseudo_bytes(openssl_cipher_iv_length('AES-256-CBC')); $encryptedData = openssl_encrypt($fileData, 'AES-256-CBC', $key, OPENSSL_RAW_DATA, $iv); return base64_encode($iv . $encryptedData); }
Fungsi Penyahsulitan
Begitu juga, fungsi penyahsulitan berikut menggunakan perpustakaan baharu:
function decryptFile($encryptedData, $key) { $ivSize = openssl_cipher_iv_length('AES-256-CBC'); $iv = substr($encryptedData, 0, $ivSize); $encryptedData = substr($encryptedData, $ivSize); $decryptedData = openssl_decrypt($encryptedData, 'AES-256-CBC', $key, OPENSSL_RAW_DATA, $iv); return $decryptedData; }
Penggunaan
Untuk menyulitkan fail, baca kandungannya menjadi pembolehubah, panggil fungsi encryptFile dengan kandungan dan kunci penyulitan, dan simpan data yang disulitkan ke fail output.
Untuk penyahsulitan, baca kandungan fail yang disulitkan. ke dalam pembolehubah, panggil fungsi nyahsulitFail dengan data yang disulitkan dan kunci penyahsulitan, dan tulis data yang dinyahsulit pada fail output.
Kesimpulan
Dengan memanfaatkan penyulitan moden perpustakaan, anda boleh menyulitkan dan menyahsulit fail dalam PHP dengan selamat, memastikan kerahsiaan dan integriti data sensitif.
Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Menyulitkan dan Menyahsulit Fail dengan Selamat dalam PHP Menggunakan Perpustakaan Moden?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!