查詢

mcrypt_encrypt()函式—用法及示例

「 對資料進行加密處理 」


函式名稱:mcrypt_encrypt()

函式描述:該函式用於對資料進行加密處理。

適用版本:該函式在PHP 5.4.0版本中被廢棄,且在PHP 7.1.0版本中被移除,因此不建議在PHP 7.1.0及以上版本中使用。推薦使用其他加密函式,如openssl_encrypt()。

語法:mcrypt_encrypt(string $cipher, string $key, string $data, string $mode, string $iv)

引數:

  • $cipher:加密演算法的名稱,如MCRYPT_RIJNDAEL_128,MCRYPT_DES等。
  • $key:加密金鑰,根據所使用的演算法的不同,其長度可能會有所不同。
  • $data:需要加密的資料。
  • $mode:加密模式,如MCRYPT_MODE_CBC,MCRYPT_MODE_ECB等。
  • $iv:初始化向量(Initialization Vector),根據所使用的演算法和模式的不同,其長度可能會有所不同。

返回值:返回加密後的資料,以字串形式表示。

示例:

$key = "mysecretkey";
$data = "Hello, world!";
$cipher = MCRYPT_RIJNDAEL_128;
$mode = MCRYPT_MODE_CBC;
$iv = mcrypt_create_iv(mcrypt_get_iv_size($cipher, $mode), MCRYPT_RAND);

$encryptedData = mcrypt_encrypt($cipher, $key, $data, $mode, $iv);

echo "加密前的資料:".$data."\n";
echo "加密後的資料:".$encryptedData."\n";

注意事項:

  1. mcrypt_encrypt()函式在PHP 5.4.0版本中被廢棄,且在PHP 7.1.0版本中被移除,因此不建議在PHP 7.1.0及以上版本中使用。推薦使用其他加密函式,如openssl_encrypt()。
  2. 在使用mcrypt_encrypt()函式進行加密時,需要確保所使用的加密演算法、加密模式以及金鑰的長度等引數與解密時保持一致,否則解密可能會失敗。
  3. 初始化向量(IV)在加密過程中起到重要作用,它需要與解密時使用的IV保持一致,否則解密也會失敗。可以使用mcrypt_create_iv()函式生成一個隨機的IV。
  4. 加密後的資料是以位元組流形式返回的,如果需要以可讀的形式展示,可以使用base64_encode()等函式進行編碼。
補充糾錯
下一個函式: mcrypt_decrypt()函式
熱門PHP函式
分享連結