ubuntu

Ubuntu PHP如何进行加密解密

小樊
56
2025-07-27 19:42:42
栏目: 编程语言

在Ubuntu系统中,你可以使用PHP的内置函数进行加密和解密。这里有一个简单的例子,使用openssl_encryptopenssl_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变量来选择其他算法。请确保使用一个安全的密钥,以保证加密和解密的安全性。

0
看了该问题的人还看了