現在の位置: ホーム> 最新記事一覧> PHPにAES暗号化を実装するための詳細なチュートリアルとサンプルコード

PHPにAES暗号化を実装するための詳細なチュートリアルとサンプルコード

gitbox 2025-07-22

AES暗号化とは何ですか?

AES暗号化(Advanced Encryption Standard)は、機密データと情報セキュリティを効果的に保護できる広く使用されている対称暗号化アルゴリズムです。多くの開発者は、データの送信とストレージのセキュリティを確保するために、プロジェクトでAES暗号化を選択します。この記事では、PHPにAES暗号化を実装し、実用的なコードの例とベストプラクティスを提供する方法を紹介します。

PHPにAES暗号化を実装するための基本プロセス

PHPでAES暗号化を使用することは、環境がOpenSSL拡張機能をサポートすることを保証するための鍵です。実装プロセスには、主にキーの生成と初期化ベクトル(IV)、データ暗号化、データの復号化の3つのステップが含まれます。

キーを生成し、ベクトルを初期化します

AES暗号化には、キーと初期化ベクトルが必要です。キーの長さは128ビット、192ビット、または256ビットであり、IVは通常128ビットです。次の機能は、それらを生成する方法を示しています。

 function generateKeyAndIV() {
    $key = openssl_random_pseudo_bytes(16); // 128ビットキー
    $iv = openssl_random_pseudo_bytes(openssl_cipher_iv_length('aes-128-cbc')); // 128少しIV
    return [$key, $iv];
}

データ暗号化

キーとIVを生成した後、openSSL関数をデータのAES暗号化に呼び出すことができます。例は次のとおりです。

 function encryptData($data, $key, $iv) {
    return openssl_encrypt($data, 'aes-128-cbc', $key, 0, $iv);
}

データ復号化

復号化プロセスは、暗号化と同じキーとIVを使用し、OpenSSL復号化関数を呼び出します。

 function decryptData($encryptedData, $key, $iv) {
    return openssl_decrypt($encryptedData, 'aes-128-cbc', $key, 0, $iv);
}

完全なサンプルコード

キーとIVの生成、データ暗号化、復号化を含む完全なPHP例を次に示します。

 list($key, $iv) = generateKeyAndIV();
$data = "Hello, World!";
$encryptedData = encryptData($data, $key, $iv);
$decryptedData = decryptData($encryptedData, $key, $iv);
echo "生データ: $data
";
echo "暗号化されたデータ: $encryptedData
";
echo "データを復号化します: $decryptedData
";

要約します

PHPのOpenSSL拡張機能を使用してAES暗号化を実装するのは比較的簡単です。キーは、セキュリティを確保するためにキーとIVのランダム性を確保することです。開発プロセス中に、データ暗号化に注意を払うことで、アプリケーションに重要な保護層を追加できます。この記事の例と指示が、AES暗号化技術をよりよく理解し、適用するのに役立つことを願っています。