函式名: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() 函式將加密後的資料進行編碼輸出。
請注意,示例中的金鑰和初始向量僅用於演示目的,實際使用時應該使用更強大和安全的金鑰。