Crypto js aes-128-cbc php openssl
时间: 2024-09-15 13:06:57 浏览: 73
PHP7实现和CryptoJS的AES加密方式互通示例【AES-128-ECB加密】
CryptoJS是一个JavaScript库,专门用于加密处理,支持多种加密算法,包括AES (高级加密标准)。AES-128-CBC是一种对称加密模式,其中128位密钥用于加密,CBC(Cipher Block Chaining,密码块链接)模式下每次加密都会使用前一次的密文作为新的初始化向量。
在PHP中,你可以使用openssl extension来进行同样的AES-128-CBC加密。`openssl_encrypt()` 和 `openssl_decrypt()` 函数可以分别用于加密和解密数据,需要提供密钥、初始化向量(IV),以及选择AES-128-CBC作为加密算法。例如:
```php
$key = 'your_16_byte_key';
$iv = openssl_random_pseudo_bytes(16); // 生成随机初始化向量
$ciphertext = openssl_encrypt($plaintext, "AES-128-CBC", $key, OPENSSL_RAW_DATA, $iv);
```
要解密,使用相同的密钥和初始化向量:
```php
$decrypted_text = openssl_decrypt($ciphertext, "AES-128-CBC", $key, OPENSSL_RAW_DATA, $iv);
```
阅读全文