ホームページ  >  記事  >  バックエンド開発  >  PHP で AES256 を使用してファイルを安全に暗号化および復号化する方法

PHP で AES256 を使用してファイルを安全に暗号化および復号化する方法

Mary-Kate Olsen
Mary-Kate Olsenオリジナル
2024-11-25 03:41:15871ブラウズ

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 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。