PHPでAES暗号化および復号化を実装する方法は何ですか?

PHPのopensslライブラリを使用すると、AESの暗号化および復号化を実現できます。以下はサンプルコードです:

function aesEncrypt($data, $key, $iv) {
    $encrypted = openssl_encrypt($data, 'AES-128-CBC', $key, OPENSSL_RAW_DATA, $iv);
    return base64_encode($encrypted);
}

function aesDecrypt($encryptedData, $key, $iv) {
    $decrypted = openssl_decrypt(base64_decode($encryptedData), 'AES-128-CBC', $key, OPENSSL_RAW_DATA, $iv);
    return $decrypted;
}

$key = '0123456789abcdef'; // 密钥,必须是16字节
$iv = '1234567890abcdef'; // 初始化向量,必须是16字节

$plainText = 'Hello, World!';

$encryptedData = aesEncrypt($plainText, $key, $iv);
echo 'Encrypted: ' . $encryptedData . "\n";

$decryptedData = aesDecrypt($encryptedData, $key, $iv);
echo 'Decrypted: ' . $decryptedData . "\n";

上記のコードにおける鍵と初期化ベクトル(IV)は、必ず16バイトの長さの文字列である必要があります。実際の使用に際しては、安全な鍵とIVを適切に生成してください。

PHPのopenssl拡張が有効になっていることを確認してください。php.iniファイルをチェックしたり、phpinfo()関数を実行することで確認できます。

bannerAds