查詢

mcrypt_generic_init()函式—用法及示例

「 初始化加密演算法的金鑰和IV(初始化向量),以供後續的加密操作使用 」


函式名稱:mcrypt_generic_init()

函式描述:該函式用於初始化加密演算法的金鑰和IV(初始化向量),以供後續的加密操作使用。

適用版本:該函式在PHP 4 >= 4.0.2, PHP 5, PHP 7中可用。

語法:bool mcrypt_generic_init(resource $td, string $key, string $iv)

引數:

  • $td:加密演算法的資源控制代碼,透過mcrypt_module_open()函式獲取。
  • $key:用於加密的金鑰,長度必須符合演算法要求。
  • $iv:初始化向量,長度必須符合演算法要求。

返回值:如果初始化成功,則返回true,否則返回false。

示例:

// 開啟加密演算法 $td = mcrypt_module_open('des', '', 'ecb', '');

// 生成金鑰和初始化向量 $key = "this is a secret key"; $iv = "12345678";

// 初始化加密演算法 if (mcrypt_generic_init($td, $key, $iv) !== false) { // 加密操作 $data = "Hello, world!"; $encrypted_data = mcrypt_generic($td, $data);

// 輸出加密後的資料
echo bin2hex($encrypted_data);

// 結束加密演算法
mcrypt_generic_deinit($td);

} else { echo "加密演算法初始化失敗"; }

// 關閉加密演算法 mcrypt_module_close($td);

在上面的示例中,首先透過mcrypt_module_open()函式開啟了一個DES加密演算法的資源控制代碼$td。然後,使用mcrypt_generic_init()函式初始化了該加密演算法的金鑰和初始化向量。如果初始化成功,就可以使用mcrypt_generic()函式對資料進行加密操作。最後,透過mcrypt_generic_deinit()函式結束加密演算法,並關閉資源控制代碼。

補充糾錯
上一個函式: mcrypt_get_block_size()函式
下一個函式: mcrypt_generic_deinit()函式
熱門PHP函式
分享連結