要測試 PHP AES 加密,你可以使用 OpenSSL 擴展提供的函數(shù)。以下是一個簡單的示例,展示了如何使用 OpenSSL 對字符串進行 AES-256-CBC 加密和解密,以驗證加密和解密是否正常工作。
首先,確保你的 PHP 安裝啟用了 OpenSSL 擴展。然后,創(chuàng)建一個名為 aes_test.php
的文件,并在其中輸入以下內(nèi)容:
<?php
function aes_encrypt($data, $key, $iv) {
return base64_encode(openssl_encrypt($data, 'AES-256-CBC', $key, OPENSSL_RAW_DATA, $iv));
}
function aes_decrypt($data, $key, $iv) {
return openssl_decrypt(base64_decode($data), 'AES-256-CBC', $key, OPENSSL_RAW_DATA, $iv);
}
$key = 'your-32-character-key-here'; // 確保密鑰長度為 32 個字符
$iv = openssl_random_pseudo_bytes(openssl_cipher_iv_length('AES-256-CBC'));
$plaintext = 'Hello, World!';
$ciphertext = aes_encrypt($plaintext, $key, $iv);
echo 'Encrypted text: ' . $ciphertext . PHP_EOL;
$decryptedText = aes_decrypt($ciphertext, $key, $iv);
echo 'Decrypted text: ' . $decryptedText . PHP_EOL;
?>
將 $key
變量設(shè)置為一個 32 個字符的字符串,這是 AES-256 所需的密鑰長度。運行此腳本后,你將看到類似以下的輸出:
Encrypted text: <encrypted-string>
Decrypted text: Hello, World!
如果加密和解密過程正確,解密后的文本應(yīng)與原始文本相同。請注意,這個示例僅用于演示目的,實際應(yīng)用中你可能需要考慮更多的安全因素,例如密鑰管理和錯誤處理。