codecamp

PHP8 Mcrypt预定义常量

下列常量由此扩展定义,且仅在此扩展编译入 PHP 或在运行时动态载入时可用。

Mcrypt 支持以下四种分组密码模式:CBC, OFB,CFB 和 ECB。 如果使用 libmcrypt-2.4.x 或更高版本链接, 还可以支持 nOFB 分组模式 和 STREAM 模式。 下列是所支持的加密模式以及其对应的预定义常量。 完整的参考见:Applied Cryptography by Schneier (ISBN 0-471-11709-9)。

  • MCRYPT_MODE_ECB (electronic codebook) 是一种分组加密模式,但是它无法适用于大部分场景, 所以不建议使用这种模式进行分组加密。
  • MCRYPT_MODE_CBC (cipher block chaining) 也是一种分组加密方式, 相对 ECB 模式,它更加安全。
  • MCRYPT_MODE_CFB (8 比特模式的 cipher feedback) 是一种流式加密模式。 相对于 CFB 而言, 推荐使用 NCFB 模式。
  • MCRYPT_MODE_OFB (output feedback, in 8bit) 和 CFB 类似, 也是一种流式加密模式,它可以用在无法容忍加密错误传播的应用中。 推荐使用 NOFB 模式,而不是 OFB 模式。
  • MCRYPT_MODE_NOFB (output feedback, in nbit) 和 OFB 类似,但是更加安全, 因为它可以按照算法指定的分组大小来对数据进行加密。
  • MCRYPT_MODE_STREAM 是一种扩展模式, 它包含了诸如 "WAKE" 或 "RC4" 的流加密算法。

Mcrypt 还支持一些尚未预定义常量的加密模式。 可以通过传入一个字符串来使用使用未预定义常量的加密模式。

  • "ctr" (counter mode) 是一种流式加密模式。
  • "ncfb" (cipher feedback, in n-bit mode),类似于 CFB 模式, 但是它会对于算法设定的整块数据进行操作。

其他模式以及随机设备常量:

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


PHP8 Mcrypt资源类型
PHP8 Mcrypt密码
温馨提示
下载编程狮App,免费阅读超1000+编程语言教程
取消
确定
目录

PHP8 语言参考

PHP8 函数参考

PHP8 影响 PHP 行为的扩展

PHP8 Componere

PHP8 安装/配置

PHP8 外部函数接口

PHP8 选项和信息

PHP8 选项/信息 函数

PHP8 Windows Cache for PHP

PHP8 WinCache 函数

PHP8 Yac

PHP8 身份认证服务

PHP8 Radius 函数

PHP8 压缩与归档扩展

PHP8 Phar

PHP8 Zip

PHP8 ZipArchive 类

PHP8 加密扩展

PHP8 OpenSSL

PHP8 OpenSSL 函数

PHP8 Sodium 函数

PHP8 数据库扩展

PHP8 针对各数据库系统对应的扩展

PHP8 CUBRID 函数

PHP8 Firebird/InterBase

PHP8 Firebird/InterBase函数

PHP8 MongoDB介绍驱动程序体系结构和特殊功能

PHP8 MongoDB\Driver\Command 类

PHP8 MongoDB\Driver\Query 类

关闭

MIP.setData({ 'pageTheme' : getCookie('pageTheme') || {'day':true, 'night':false}, 'pageFontSize' : getCookie('pageFontSize') || 20 }); MIP.watch('pageTheme', function(newValue){ setCookie('pageTheme', JSON.stringify(newValue)) }); MIP.watch('pageFontSize', function(newValue){ setCookie('pageFontSize', newValue) }); function setCookie(name, value){ var days = 1; var exp = new Date(); exp.setTime(exp.getTime() + days*24*60*60*1000); document.cookie = name + '=' + value + ';expires=' + exp.toUTCString(); } function getCookie(name){ var reg = new RegExp('(^| )' + name + '=([^;]*)(;|$)'); return document.cookie.match(reg) ? JSON.parse(document.cookie.match(reg)[2]) : null; }