代替手段として、PHP 7.2.0以降では、openssl
拡張機能を使用することが推奨されています。openssl
拡張機能は、暗号化や復号化のためのさまざまな関数を提供しており、より安全な選択肢となっています。
以下に、openssl
拡張機能を使用した暗号化と復号化の基本的なコード例を示します。
// データを暗号化する例
function encryptData($data, $key, $iv) {
$encryptedData = openssl_encrypt($data, 'AES-256-CBC', $key, 0, $iv);
return base64_encode($encryptedData);
}
// データを復号化する例
function decryptData($encryptedData, $key, $iv) {
$decodedData = base64_decode($encryptedData);
return openssl_decrypt($decodedData, 'AES-256-CBC', $key, 0, $iv);
}
// 使用例
$dataToEncrypt = 'This is a secret message.';
$key = '0123456789abcdef';
$iv = 'abcdef9876543210';
$encrypted = encryptData($dataToEncrypt, $key, $iv);
echo "暗号化されたデータ: " . $encrypted . "\n";
$decrypted = decryptData($encrypted, $key, $iv);
echo "復号化されたデータ: " . $decrypted . "\n";
上記の例では、AES-256-CBC暗号方式を使用してデータを暗号化および復号化しています。$key
と$iv
は暗号化のためのキーと初期化ベクトルを表しています。実際の使用においては、よりランダムでセキュアなキーと初期化ベクトルを生成する必要があります。
このように、mcrypt拡張機能が削除された場合でも、openssl
拡張機能を使用することで安全にデータを暗号化および復号化することができます。