函数名:mcrypt_generic()
适用版本:PHP 4 >= 4.0.2, PHP 5, PHP 7
用法:mcrypt_generic() 函数用于将数据进行加密或解密,使用的是对称加密算法。在加密和解密之前,需要通过 mcrypt_generic_init() 函数来初始化加密器。
语法:mcrypt_generic(resource $td, string $data): string
参数:
- $td:加密器的资源标识符,通过 mcrypt_module_open() 函数获取。
- $data:要加密或解密的数据。
返回值:返回加密或解密后的数据,以字符串形式。
示例:
$key = "secret_key";
$iv = "iv_value";
$data = "Hello, World!";
$td = mcrypt_module_open('rijndael-256', '', 'cbc', '');
mcrypt_generic_init($td, $key, $iv);
$encryptedData = mcrypt_generic($td, $data);
mcrypt_generic_deinit($td);
mcrypt_module_close($td);
echo "Encrypted data: " . base64_encode($encryptedData);
在上面的示例中,首先定义了加密所需的密钥和初始向量。然后,使用 mcrypt_module_open() 函数打开一个加密模块,这里使用的是 Rijndael-256 算法。接下来,使用 mcrypt_generic_init() 函数初始化加密器,传入加密器资源标识符、密钥和初始向量。然后,使用 mcrypt_generic() 函数对数据进行加密,返回加密后的数据。最后,使用 mcrypt_generic_deinit() 函数关闭加密器,并使用 mcrypt_module_close() 函数关闭加密模块。最后,通过 base64_encode() 函数将加密后的数据进行编码输出。
请注意,示例中的密钥和初始向量仅用于演示目的,实际使用时应该使用更强大和安全的密钥。