在PHP中實現對稱加密的最佳實踐是使用openssl_encrypt()
和openssl_decrypt()
函數。以下是一個簡單的示例代碼:
// 加密函數
function encrypt($data, $key, $iv) {
$encrypted = openssl_encrypt($data, 'AES-256-CBC', $key, 0, $iv);
return base64_encode($encrypted);
}
// 解密函數
function decrypt($data, $key, $iv) {
$decrypted = openssl_decrypt(base64_decode($data), 'AES-256-CBC', $key, 0, $iv);
return $decrypted;
}
// 設置加密密鑰和初始向量
$key = 'your_secret_key';
$iv = 'your_iv';
// 要加密的數據
$data = 'Hello, World!';
// 加密數據
$encrypted_data = encrypt($data, $key, $iv);
// 解密數據
$decrypted_data = decrypt($encrypted_data, $key, $iv);
echo "Encrypted data: " . $encrypted_data . "\n";
echo "Decrypted data: " . $decrypted_data . "\n";
在上面的示例中,我們使用AES-256-CBC算法對數據進行加密和解密。確保保護好加密密鑰和初始向量,以確保數據的安全性。您可以根據需要修改加密算法和密鑰長度來滿足您的需求。