PHP 大会日本 2024

预定义常量

以下常量由此扩展定义,只有在将扩展编译到 PHP 中或在运行时动态加载时才可用。

Mcrypt 可以使用四种分组密码模式(CBCOFBCFBECB)。如果链接到 libmcrypt-2.4.x 或更高版本,则函数也可以在 nOFB 分组密码模式和 STREAM 模式下运行。下面列出了所有支持的加密模式以及为加密模式定义的常量。有关更完整的参考和讨论,请参阅 Schneier 编著的《应用密码学》(ISBN 0-471-11709-9)。

  • MCRYPT_MODE_ECB (电子密码本) 是一种分组密码模式,通常不适合大多数用途。不建议使用此模式。
  • MCRYPT_MODE_CBC (密码分组链接) 是一种分组密码模式,比 ECB 模式安全得多。
  • MCRYPT_MODE_CFB (密文反馈,8 位模式) 是一种流密码模式。建议使用 NCFB 模式而不是 CFB 模式。
  • MCRYPT_MODE_OFB (输出反馈,8 位模式) 是一种与 CFB 可比的流密码模式,但可用于无法容忍错误传播的应用程序。建议使用 NOFB 模式而不是 OFB 模式。
  • MCRYPT_MODE_NOFB (输出反馈,n 位模式) 与 OFB 模式类似,但它使用算法的完整块大小进行操作。
  • MCRYPT_MODE_STREAM 是一种额外的模式,用于包含一些流算法,例如 "WAKE""RC4"

Mcrypt 支持其他一些操作模式,这些模式没有预定义的常量。可以通过传递字符串来代替缺失的常量来使用它们。

  • "ctr" (计数器模式) 是一种流密码模式。
  • "ncfb" (密文反馈,n 位模式) 与 CFB 模式类似,但它使用算法的完整块大小进行操作。

其他一些模式和随机设备常量

MCRYPT_ENCRYPT (int)
MCRYPT_DECRYPT (int)
MCRYPT_DEV_RANDOM (int)
MCRYPT_DEV_URANDOM (int)
MCRYPT_RAND (int)

添加注释

用户贡献的注释 1 条注释

5
gordon at vixo dot com
11 年前
这些常量并未涵盖所有可能的选项。

有两个常量
MCRYPT_MODE_OFB
MCRYPT_MODE_NOFB

这些与在 8 位反馈模式下使用 OFB 模式以及使用与密钥相同反馈长度相关。

有一个常量
MCRYPT_MODE_CFB 使用 8 位反馈模式

应该有一个常量
MCRYPT_MODE_NCFB 使用与密钥相同反馈长度。

事实上,你可以在 mycrypt 中直接使用选项 'ncfb'
To Top