在Ubuntu系统中,你可以使用PHP的内置函数进行加密和解密。这里有一个简单的例子,使用openssl_encrypt和openssl_decrypt函数进行加密和解密。
首先,确保你的PHP安装包含了OpenSSL扩展。你可以通过运行以下命令来检查:
php -m | grep openssl
如果输出中包含openssl,那么你已经安装了这个扩展。如果没有,请安装它:
sudo apt-get update
sudo apt-get install php-openssl
然后,你可以使用以下代码进行加密和解密:
<?php
// 加密
function encrypt($data, $key) {
$cipher = "AES-256-CBC";
$ivlen = openssl_cipher_iv_length($cipher);
$iv = openssl_random_pseudo_bytes($ivlen);
$encrypted = openssl_encrypt($data, $cipher, $key, OPENSSL_RAW_DATA, $iv);
return base64_encode($iv . $encrypted);
}
// 解密
function decrypt($data, $key) {
$cipher = "AES-256-CBC";
$data = base64_decode($data);
$ivlen = openssl_cipher_iv_length($cipher);
$iv = substr($data, 0, $ivlen);
$encrypted = substr($data, $ivlen);
return openssl_decrypt($encrypted, $cipher, $key, OPENSSL_RAW_DATA, $iv);
}
// 示例
$key = "your-secret-key"; // 请使用一个安全的密钥
$data = "Hello, World!";
$encrypted_data = encrypt($data, $key);
echo "Encrypted data: " . $encrypted_data . PHP_EOL;
$decrypted_data = decrypt($encrypted_data, $key);
echo "Decrypted data: " . $decrypted_data . PHP_EOL;
?>
这个例子使用了AES-256-CBC加密算法,你可以根据需要更改$cipher变量来选择其他算法。请确保使用一个安全的密钥,以保证加密和解密的安全性。