溫馨提示×

php中aes加密解密怎么實現(xiàn)

PHP
小億
227
2024-06-11 15:11:28
欄目: 編程語言

在PHP中實現(xiàn)AES加密和解密可以使用 PHP 的 OpenSSL 擴展,以下是一個簡單的示例:

// 加密函數(shù)
function encrypt($data, $key, $iv) {
    return openssl_encrypt($data, 'aes-256-cbc', $key, OPENSSL_RAW_DATA, $iv);
}

// 解密函數(shù)
function decrypt($data, $key, $iv) {
    return openssl_decrypt($data, 'aes-256-cbc', $key, OPENSSL_RAW_DATA, $iv);
}

// 加密
$key = 'YourSecretKey';
$iv = random_bytes(16); // 隨機生成一個16字節(jié)的初始化向量
$data = 'Hello, World!';
$encrypted = encrypt($data, $key, $iv);

// 解密
$decrypted = decrypt($encrypted, $key, $iv);

echo '加密前:' . $data . PHP_EOL;
echo '加密后:' . base64_encode($encrypted) . PHP_EOL;
echo '解密后:' . $decrypted . PHP_EOL;

上面的示例中,首先定義了 encryptdecrypt 兩個函數(shù),分別用于對數(shù)據(jù)進行加密和解密。然后生成了一個 16 字節(jié)的隨機初始化向量,使用指定的密鑰對數(shù)據(jù)進行加密,并最后解密。

注意:在實際應用中,需要使用安全的方法來存儲和傳輸密鑰和初始化向量,以確保數(shù)據(jù)的安全性。

0