Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Bagaimanakah Saya Boleh Menyulitkan dan Menyahsulit Fail dengan Selamat dalam PHP Menggunakan Perpustakaan Moden?

Bagaimanakah Saya Boleh Menyulitkan dan Menyahsulit Fail dengan Selamat dalam PHP Menggunakan Perpustakaan Moden?

DDD
DDDasal
2024-11-19 14:55:02804semak imbas

How Can I Securely Encrypt and Decrypt Files in PHP Using Modern Libraries?

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!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn