这些常量并未涵盖所有可能的选项。
有两个常量
MCRYPT_MODE_OFB
MCRYPT_MODE_NOFB
它们分别对应于使用 8 位反馈模式的 OFB 模式和使用与密钥相同的反馈长度。
有一个常量
MCRYPT_MODE_CFB 使用 8 位反馈模式
应该有一个常量
MCRYPT_MODE_NCFB 使用与密钥相同的反馈长度。
实际上,你可以在 mycrypt 中直接使用选项 'ncfb'
以下常量由此扩展定义,只有在扩展已编译到 PHP 中或在运行时动态加载时才可用。
Mcrypt 可以使用四种块密码模式(CBC
、OFB
、CFB
和 ECB
)。如果链接到 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_MODE_OFB
MCRYPT_MODE_NOFB
它们分别对应于使用 8 位反馈模式的 OFB 模式和使用与密钥相同的反馈长度。
有一个常量
MCRYPT_MODE_CFB 使用 8 位反馈模式
应该有一个常量
MCRYPT_MODE_NCFB 使用与密钥相同的反馈长度。
实际上,你可以在 mycrypt 中直接使用选项 'ncfb'