Rumah >pembangunan bahagian belakang >tutorial php >Bagaimana untuk Menyulitkan dan Menyahsulit Fail dengan Selamat Menggunakan AES256 dalam PHP?

Bagaimana untuk Menyulitkan dan Menyahsulit Fail dengan Selamat Menggunakan AES256 dalam PHP?

Mary-Kate Olsen
Mary-Kate Olsenasal
2024-11-25 03:41:15885semak imbas

How to Securely Encrypt and Decrypt Files Using AES256 in PHP?

Menyulitkan / Menyahsulit Fail dengan Mcrypt

Mcrypt telah ditamatkan dan tidak lagi disyorkan untuk digunakan. Artikel ini membentangkan pendekatan alternatif menggunakan openssl.

Penyulitan dan Penyahsulitan AES256

Pelaksanaan yang dikemas kini ini menggunakan AES256 untuk penyulitan, memberikan tahap keselamatan yang jauh lebih tinggi berbanding Mcrypt. Di bawah ialah kod yang disemak:

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

    public static function generateIv(bool $allowLessSecure = false): string
    {
        // Logic to generate a secure initialization vector
    }

    protected static function getPaddedText(string $plainText): string
    {
        // Logic to pad the plaintext to a multiple of the block size
    }

    public static function encrypt(string $plainText, string $key, string $iv): string
    {
        // Logic to encrypt the plaintext using AES256
    }

    public static function decrypt(string $encryptedText, string $key, string $iv): string
    {
        // Logic to decrypt the ciphertext using AES256
    }
}

Penggunaan:

$text = 'Your plaintext here';
$key = 'Your encryption key';
$iv = AES256Encryption::generateIv();
$encryptedText = AES256Encryption::encrypt($text, $key, $iv);
$decryptedText = AES256Encryption::decrypt($encryptedText, $key, $iv);

// Print the results
echo "Original Text: $text" . PHP_EOL;
echo "Encrypted: $encryptedText" . PHP_EOL;
echo "Decrypted: $decryptedText" . PHP_EOL;

Kod ini menunjukkan penyulitan dan penyahsulitan teks biasa menggunakan AES256, memastikan pengendalian data selamat.

Atas ialah kandungan terperinci Bagaimana untuk Menyulitkan dan Menyahsulit Fail dengan Selamat Menggunakan AES256 dalam PHP?. 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