Rumah > pembangunan bahagian belakang > tutorial php > Bagaimana untuk Menyulitkan dan Menyahsulit Fail dengan Selamat Menggunakan OpenSSL dan Kelas PHP Tersuai?

Bagaimana untuk Menyulitkan dan Menyahsulit Fail dengan Selamat Menggunakan OpenSSL dan Kelas PHP Tersuai?

Mary-Kate Olsen
Lepaskan: 2024-11-21 10:03:10
asal
841 orang telah melayarinya

How to Securely Encrypt and Decrypt Files Using OpenSSL and a Custom PHP Class?

Cara Menyulitkan dan Menyahsulit Fail Menggunakan Mcrypt

Mcrypt, pustaka penyulitan popular, telah dihentikan dan tidak lagi disyorkan untuk digunakan. Atas sebab ini, kami akan meneroka teknik penyulitan alternatif menggunakan sambungan OpenSSL.

Mencipta Kelas Penyulitan Tersuai

Untuk merangkum proses penyulitan, kami mentakrifkan kelas tersuai , AES256Encryption, yang memanfaatkan OpenSSL's AES-256 algoritma.

class AES256Encryption
{
    const BLOCK_SIZE = 8;
    const IV_LENGTH = 16;
    const CIPHER = 'AES256';

    //... Encryption and Decryption Methods ...
}
Salin selepas log masuk

Penggunaan

$text = 'Plain text to be encrypted';
$key = 'Encryption key';
$iv = AES256Encryption::generateIv();  // Generates a random initialization vector (IV)
$encryptedText = AES256Encryption::encrypt($text, $key, $iv);  // Encrypts the text
$decryptedText = AES256Encryption::decrypt($encryptedText, $key, $iv);  // Decrypts the encrypted text
Salin selepas log masuk

Sampel Output

Original Text: Plain text to be encrypted
Encrypted: Encrypted ciphertext
Decrypted: Plain text to be encrypted
Salin selepas log masuk

Pertimbangan Lain

  • IV Penjanaan: Pastikan penjanaan selamat bagi vektor permulaan (IV) menggunakan AES256Encryption::generateIv().
  • Padding: Teks input dipadatkan kepada gandaan saiz blok ke pastikan penyulitan yang betul.
  • Pengekodan Base64: data yang disulitkan dan dinyahsulit adalah dikodkan base64 untuk kemudahan.
  • Pengecualian: Pengendalian ralat disertakan untuk melaporkan isu yang berpotensi semasa penyulitan atau penyahsulitan.

Pendekatan dikemas kini ini menggunakan OpenSSL menyediakan kaedah yang selamat dan boleh dipercayai untuk menyulitkan dan menyahsulit fail dan data menggunakan penyulitan terkini piawaian.

Atas ialah kandungan terperinci Bagaimana untuk Menyulitkan dan Menyahsulit Fail dengan Selamat Menggunakan OpenSSL dan Kelas PHP Tersuai?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php.cn
Kenyataan Laman Web ini
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
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan