在PHP中,可以使用openssl_encrypt
和openssl_decrypt
函數進行字符串的加密和解密。這兩個函數都接受以下參數:
以下是一個使用AES-256-CBC算法的加密和解密示例:
<?php
// 密鑰(確保密鑰長度為32字節)
$key = 'your-32-character-key';
// 初始化向量(確保初始化向量長度為16字節)
$iv = 'your-16-character-iv';
// 需要加密的字符串
$plaintext = 'Hello, World!';
// 加密
$ciphertext = openssl_encrypt($plaintext, 'AES-256-CBC', $key, 0, $iv);
echo 'Encrypted: ' . $ciphertext . PHP_EOL;
// 解密
$decryptedText = openssl_decrypt($ciphertext, 'AES-256-CBC', $key, 0, $iv);
echo 'Decrypted: ' . $decryptedText . PHP_EOL;
?>
在這個示例中,我們使用了AES-256-CBC算法進行加密和解密。openssl_encrypt
函數將明文字符串加密為二進制格式的密文,而openssl_decrypt
函數則將密文解密回原始的明文字符串。
注意:在實際應用中,密鑰和初始化向量的生成應該更加復雜且安全,而不是使用硬編碼的值。此外,根據實際需求,您可能需要調整選項參數。更多關于openssl_encrypt
和openssl_decrypt
函數的信息,可以參考PHP官方文檔: