溫馨提示×

php對稱加密怎樣判斷

PHP
小樊
94
2024-12-03 17:18:25
欄目: 編程語言

在PHP中,對稱加密通常使用openssl_encryptopenssl_decrypt函數進行加密和解密操作。為了判斷加密后的數據是否正確,可以將解密后的數據與原數據進行比較。以下是一個簡單的示例:

<?php
// 密鑰(確保密鑰長度為16、24或32字節)
$key = 'your-secret-key';

// 初始化向量(確保IV長度與加密算法相匹配)
$iv = openssl_random_pseudo_bytes(openssl_cipher_iv_length('aes-256-cbc'));

// 原始數據
$plaintext = 'Hello, World!';

// 加密數據
$ciphertext = openssl_encrypt($plaintext, 'aes-256-cbc', $key, 0, $iv);

// 輸出密文
echo 'Ciphertext: ' . bin2hex($ciphertext) . PHP_EOL;

// 解密數據
$decryptedText = openssl_decrypt($ciphertext, 'aes-256-cbc', $key, 0, $iv);

// 輸出解密后的文本
echo 'Decrypted Text: ' . $decryptedText . PHP_EOL;

// 判斷加密后的數據是否正確
if ($plaintext === $decryptedText) {
    echo 'The encryption and decryption are correct.' . PHP_EOL;
} else {
    echo 'The encryption and decryption are incorrect.' . PHP_EOL;
}
?>

在這個示例中,我們使用AES-256-CBC加密算法對原始數據進行加密,然后將加密后的數據(二進制形式)轉換為十六進制字符串以便于顯示。接下來,我們使用相同的密鑰和初始化向量對密文進行解密,并將解密后的文本與原始文本進行比較。如果兩者相同,說明加密和解密操作是正確的。

0
亚洲午夜精品一区二区_中文无码日韩欧免_久久香蕉精品视频_欧美主播一区二区三区美女