PHPでAES暗号化を行う方法は何ですか?
PHPには、AES暗号化を実装するためにopensslライブラリを使用することができます。
以下は、AES暗号化を行うためにopensslライブラリを使用したサンプルコードです。
<?php
function encrypt($data, $key, $iv) {
$ciphertext = openssl_encrypt($data, 'AES-128-CBC', $key, OPENSSL_RAW_DATA, $iv);
return base64_encode($ciphertext);
}
function decrypt($data, $key, $iv) {
$ciphertext = base64_decode($data);
return openssl_decrypt($ciphertext, 'AES-128-CBC', $key, OPENSSL_RAW_DATA, $iv);
}
$data = 'Hello, World!';
$key = '0123456789abcdef';
$iv = 'fedcba9876543210';
$encrypted = encrypt($data, $key, $iv);
echo 'Encrypted: ' . $encrypted . "\n";
$decrypted = decrypt($encrypted, $key, $iv);
echo 'Decrypted: ' . $decrypted . "\n";
?>
上記のコードでは、encrypt関数がopenssl_encrypt関数を使用してデータをAESで暗号化し、その後base64_encode関数を使用して暗号化されたデータを読みやすい文字列に変換します。decrypt関数は、暗号化されたデータを復号化するプロセスであり、base64_decode関数を使用して暗号化された文字列をバイナリデータに変換し、その後openssl_decrypt関数を使用して復号化を行います。
以上の例ではAES-128アルゴリズムとCBCモードが使用されていますが、他のアルゴリズムやモードを使用する場合は、openssl_encryptおよびopenssl_decrypt関数のパラメータを調整してください。
同時、上記のコードを使用するためにはOpenSSL拡張機能がインストールされていることを確認してください。