首頁  >  文章  >  後端開發  >  如何在 PHP 中使用 AES256 安全地加密和解密檔案?

如何在 PHP 中使用 AES256 安全地加密和解密檔案?

Mary-Kate Olsen
Mary-Kate Olsen原創
2024-11-25 03:41:15872瀏覽

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

使用 Mcrypt 加密/解密檔案

Mcrypt 已被棄用,不再建議使用。本文介紹了一種使用 openssl 的替代方法。

AES256 加密和解密

此更新的實作採用 AES256 進行加密,與 Mcrypt 相比,提供了更高層級的安全性。以下是修改後的程式碼:

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
    }
}

用法:

$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;

此程式碼示範了使用 AES256 對明文進行加密和解密,確保資料處理的安全。

以上是如何在 PHP 中使用 AES256 安全地加密和解密檔案?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn