Mcrypt 密碼

下表是 mcrypt 擴展所支持的密碼。 所支持的密碼的完整列表請參見 mcrypt.h 文件。 在 PHP 中使用 mcrypt-2.2.x 的一個通用規(guī)則是你可以使用 MCRYPT_ciphername 來訪問密碼。 在 libmcrypt-2.4.x 和 libmcrypt-2.5.x 的 API 中,這些常量依然可用, 但是你也可以把密碼模式以字符串的形式傳入 mcrypt_module_open() 函數(shù) 來進行訪問。

  • MCRYPT_3DES
  • MCRYPT_ARCFOUR_IV ( 僅 libmcrypt > 2.4.x 可用 )
  • MCRYPT_ARCFOUR ( 僅 libmcrypt > 2.4.x 可用 )
  • MCRYPT_BLOWFISH
  • MCRYPT_CAST_128
  • MCRYPT_CAST_256
  • MCRYPT_CRYPT
  • MCRYPT_DES
  • MCRYPT_DES_COMPAT ( 僅 libmcrypt 2.2.x 可用 )
  • MCRYPT_ENIGMA ( 僅 libmcrypt > 2.4.x 可用,MCRYPT_CRYPT 的別名)
  • MCRYPT_GOST
  • MCRYPT_IDEA (非免費算法)
  • MCRYPT_LOKI97 ( 僅 libmcrypt > 2.4.x 可用 )
  • MCRYPT_MARS ( 僅 libmcrypt > 2.4.x 可用,非免費算法)
  • MCRYPT_PANAMA ( 僅 libmcrypt > 2.4.x 可用 )
  • MCRYPT_RIJNDAEL_128 ( 僅 libmcrypt > 2.4.x 可用 )
  • MCRYPT_RIJNDAEL_192 ( 僅 libmcrypt > 2.4.x 可用 )
  • MCRYPT_RIJNDAEL_256 ( 僅 libmcrypt > 2.4.x 可用 )
  • MCRYPT_RC2
  • MCRYPT_RC4 ( 僅 libmcrypt 2.2.x 可用 )
  • MCRYPT_RC6 ( 僅 libmcrypt > 2.4.x 可用 )
  • MCRYPT_RC6_128 ( 僅 libmcrypt 2.2.x 可用 )
  • MCRYPT_RC6_192 ( 僅 libmcrypt 2.2.x 可用 )
  • MCRYPT_RC6_256 ( 僅 libmcrypt 2.2.x 可用 )
  • MCRYPT_SAFER64
  • MCRYPT_SAFER128
  • MCRYPT_SAFERPLUS ( 僅 libmcrypt > 2.4.x 可用 )
  • MCRYPT_SERPENT( 僅 libmcrypt > 2.4.x 可用 )
  • MCRYPT_SERPENT_128 ( 僅 libmcrypt 2.2.x 可用 )
  • MCRYPT_SERPENT_192 ( 僅 libmcrypt 2.2.x 可用 )
  • MCRYPT_SERPENT_256 ( 僅 libmcrypt 2.2.x 可用 )
  • MCRYPT_SKIPJACK ( 僅 libmcrypt > 2.4.x 可用 )
  • MCRYPT_TEAN ( 僅 libmcrypt 2.2.x 可用 )
  • MCRYPT_THREEWAY
  • MCRYPT_TRIPLEDES ( 僅 libmcrypt > 2.4.x 可用 )
  • MCRYPT_TWOFISH ( mcrypt 2.x 之前的版本,或者 2.4.x 之后版本可用 )
  • MCRYPT_TWOFISH128 (TWOFISHxxx 在新的 2.x 版本可用,但在 2.4.x 版本不可用)
  • MCRYPT_TWOFISH192
  • MCRYPT_TWOFISH256
  • MCRYPT_WAKE ( 僅 libmcrypt > 2.4.x 可用 )
  • MCRYPT_XTEA ( 僅 libmcrypt > 2.4.x 可用 )

如果使用 CFBOFB 模式, 必須提供初始向量(IV), 如果使用 CBC 模式, 可以提供一個初始向量。 初始向量必須是唯一的,并且在加密和解密過程中要保持一致。 你可以將初始向量和加密后數(shù)據(jù)一起存儲, 其存儲位置可以由一個函數(shù)的輸出來指定, 例如文件名的 MD5 散列值, 這樣你就可以把初始向量和加密后的數(shù)據(jù)一起傳輸 (關(guān)于本話題的更多信息,請參見 Applied Cryptography by Schneier (ISBN 0-471-11709-9) 9.3 一節(jié))。