codecamp

PHP8 密码散列算法 预定义常量

下列常量作为 PHP 核心的一部分总是可用的。

PASSWORD_BCRYPT (字符串)

PASSWORD_BCRYPT用于创建新密码 使用 CRYPT_BLOWFISH 算法的哈希值。

这将始终导致使用“$2y$”加密格式的哈希值, 它始终为 60 个字符宽。

支持的选项:

  • salt (字符串)- 手动提供在散列密码时使用的盐。 请注意,这将覆盖并阻止自动生成盐。

    如果省略,则 password_hash() 将生成一个随机盐 每个密码都经过哈希处理。这是预期的操作模式 从 PHP 7.0.0 开始,salt 选项已被弃用。

  • cost (整数)- 表示算法成本 应该使用。这些值的示例可以在 crypt() 页面上找到。

    如果省略,则将使用默认值 。这是一个很好的 基准成本,但您可能需要考虑根据硬件增加基准成本。10

PASSWORD_BCRYPT_DEFAULT_COST (int)
PASSWORD_ARGON2I (字符串)

PASSWORD_ARGON2I用于创建新密码 使用 Argon2i 算法的哈希值。

支持的选项:

  • memory_cost (整数)- 最大内存(以千字节为单位),可能 用于计算 Argon2 哈希值。默认为 PASSWORD_ARGON2_DEFAULT_MEMORY_COST

  • time_cost (整数)- 可能的最长时间 take 来计算 Argon2 哈希值。默认为 PASSWORD_ARGON2_DEFAULT_TIME_COST

  • threads (整数)- 用于计算的线程数 Argon2 哈希值。默认为 PASSWORD_ARGON2_DEFAULT_THREADS。 仅适用于 libargon2,不适用于 libsodium 实现。

从 PHP 7.2.0 开始可用。

PASSWORD_ARGON2ID (字符串)

PASSWORD_ARGON2ID用于创建新密码 使用 Argon2id 算法的哈希值。它支持与PASSWORD_ARGON2I相同的选项。

从 PHP 7.3.0 开始可用。

PASSWORD_ARGON2_DEFAULT_MEMORY_COST (int)

尝试时将使用的默认内存量(以字节为单位) 计算哈希值。

从 PHP 7.2.0 开始可用。

PASSWORD_ARGON2_DEFAULT_TIME_COST (int)

尝试计算哈希所花费的默认时间。

从 PHP 7.2.0 开始可用。

PASSWORD_ARGON2_DEFAULT_THREADS (int)

Argon2lib 将使用的默认线程数。 不适用于 libsodium 实现。

从 PHP 7.2.0 开始可用。

PASSWORD_ARGON2_PROVIDER (字符串)

从 PHP 7.4.0 开始可用。

PASSWORD_DEFAULT(混合))

如果未提供算法,则用于哈希的默认算法。 在较新的 PHP 版本中,当更新、更强的哈希时,这可能会发生变化 支持算法。

值得注意的是,随着时间的流逝,这个常数可以(并且很可能会) 改变。因此,您应该知道,结果的长度 哈希可以更改。因此,如果使用 PASSWORD_DEFAULT则应以可以存储 60 个以上的方式存储生成的哈希值 字符(建议宽度为 255)。

此常量的值:

  • PHP 5.5.0 - PASSWORD_BCRYPT
更新日志
版本说明
7.4.0密码算法 ID(PASSWORD_BCRYPTPASSWORD_ARGON2IPASSWORD_ARGON2ID 和 PASSWORD_DEFAULT)的值现在是字符串s。 以前,它们一直是 ints。


PHP8 密码散列算法资源类型
PHP8 password_algos
温馨提示
下载编程狮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; }