mcrypt_generic
(PHP 4 >= 4.0.2, PHP 5, PHP 7 < 7.2.0, PECL mcrypt >= 1.0.0)
mcrypt_generic — 加密數據
本函式已自 PHP 7.1.0 起廢棄。強烈建議不要使用本函式。
說明
$td, string $data): string
    本函式用來加密數據。
    傳入數據長度必須是 n * 分組大小,否則需要后補 "\0"。
    本函式返回加密後的數據。
    注意,根據數據補齊不同,
    返回的數據可能比輸入的數據長度有所增加。
  
如果你需要把加密後的數據儲存到數據庫, 請確保儲存 mcrypt_generic 返回的完整的字串, 否則將無法正確解密。 如果原始數據有 10 個字元,分組大小為 8 (使用 mcrypt_enc_get_block_size() 獲取分組大小), 則數據庫中至少需要 16 個字元來儲存數據。 請注意 mdecrypt_generic() 函式返回的數據也會是 16 個字元。 使用 rtrim($str, "\0") 移除字串末尾的 0 。
如果你在例如 MySQL 這樣的數據庫中儲存數據, 請注意 varchar 型別的欄位會在插入數據時自動移除字串末尾的「空格」。 由於加密後的數據可能是以空格(ASCII 32)結尾, 這種特性會導致數據損壞。 請使用 tinyblob/tinytext(或 larger)欄位來儲存加密數據。
參數
- 
td
- 
      加密描述符。 在呼叫本函式之前, 請使用 mcrypt_generic_init() 函式初始化加密控制代碼。 在加密完成之後, 需要呼叫 mcrypt_generic_deinit() 函式進行必要的清理工作。 請參見 mcrypt_module_open() 。 
- 
data
- 
      要加密的數據。 
返回值
返回加密後的數據。
參見
- mdecrypt_generic() - 解密數據
- mcrypt_generic_init() - 初始化加密所需的緩衝區
- mcrypt_generic_deinit() - 對加密模組進行清理工作