要測試PHP cipher加密的可靠性,您需要創建一個簡單的加密和解密程序,以確保數據在加密和解密過程中保持完整性和準確性。以下是一個使用PHP的OpenSSL庫進行AES-256-CBC加密和解密的示例:
首先,確保您的PHP安裝支持OpenSSL庫。您可以通過運行phpinfo()
函數來檢查。
創建一個名為test_encryption.php
的文件,并添加以下代碼:
<?php
// 引入必要的庫
require_once 'vendor/autoload.php';
// 定義加密所需的變量
$plaintext = 'This is a secret message.';
$key = 'your-32-character-ultra-secure-and-ultra-long-key';
$iv = 'your-16-character-iv';
// 加密數據
$ciphertext = encrypt($plaintext, $key, $iv);
echo "Ciphertext: " . $ciphertext . PHP_EOL;
// 解密數據
$decryptedText = decrypt($ciphertext, $key, $iv);
echo "Decrypted text: " . $decryptedText . PHP_EOL;
function encrypt($plaintext, $key, $iv) {
return base64_encode(openssl_encrypt($plaintext, 'AES-256-CBC', $key, 0, $iv));
}
function decrypt($ciphertext, $key, $iv) {
return openssl_decrypt(base64_decode($ciphertext), 'AES-256-CBC', $key, 0, $iv);
}
?>
請確保將$key
和$iv
變量設置為適當的值。$key
應該是一個32字符長的字符串,而$iv
應該是一個16字符長的字符串。
運行此腳本,查看加密和解密后的結果。如果一切正常,加密和解密后的文本應該是相同的。
這只是一個簡單的測試,實際上您還需要對不同的輸入、密鑰和初始化向量進行更多的測試,以確保加密算法的可靠性。您還可以考慮使用第三方的加密庫,如defuse/php-encryption,它提供了更高級的加密功能和安全性。