当前位置: 首页 > news >正文

php的password_verify 和 password_hash密码验证

password_hash() 使用足够强度的单向散列算法创建密码的散列(hash)。

当前支持的算法:

  • PASSWORD_DEFAULT - 使用 bcrypt 算法 (PHP 5.5.0 默认)。 注意,该常量会随着 PHP 加入更新更高强度的算法而改变。 所以,使用此常量生成结果的长度将在未来有变化。 因此,数据库里储存结果的列可超过60个字符(最好是255个字符)。
  • PASSWORD_BCRYPT - 使用 CRYPT_BLOWFISH 算法创建散列。 这会产生兼容使用 "$2y$" 的 crypt()。 结果将会是 60 个字符的字符串, 或者在失败时返回 false
  • PASSWORD_ARGON2I - 使用 Argon2i 散列算法创建散列。 只有在 PHP 编译时加入 Argon2 支持时才能使用该算法。
  • PASSWORD_ARGON2ID - 使用 Argon2id 散列算法创建散列。 只有在 PHP 编译时加入 Argon2 支持时才能使用该算法。

PASSWORD_BCRYPT 支持的选项:

  • salt(string) - 手动提供散列密码的盐值(salt)。这将避免自动生成盐值(salt)。

    省略此值后,password_hash() 会为每个密码散列自动生成随机的盐值。这种操作是有意的模式。

    警告

    盐值(salt)选项已废弃(deprecated)。 现在最好仅选择使用默认产生的盐值。 从 PHP 8.0.0 起,明确指定的 salt 值会被忽略。

  • cost (int) - 代表算法使用的 cost。crypt() 页面上有 cost 值的示例。

    省略时,默认值是 10。 这个 cost 是个不错的底线,但也许可以根据自己硬件的情况,加大这个值。

PASSWORD_ARGON2I 和 PASSWORD_ARGON2ID 支持的选项:

  • memory_cost (int) - 计算 Argon2 散列时的最大内存(单位:KB)。默认值: PASSWORD_ARGON2_DEFAULT_MEMORY_COST

  • time_cost (int) - 计算 Argon2 散列时最多的时间。默认值: PASSWORD_ARGON2_DEFAULT_TIME_COST

  • threads (int) - 计算 Argon2 散列时最多的线程数。默认值: PASSWORD_ARGON2_DEFAULT_THREADS

加密:

echo password_hash("rasmuslerdorf", PASSWORD_BCRYPT)

验证:

<?php
// 想知道以下字符从哪里来,可参见 password_hash() 示例
$hash = '$2y$07$BCryptRequires22Chrcte/VlQH0piJtjXl.0t1XkA8pw9dMXTpOq';if (password_verify('rasmuslerdorf', $hash)) {echo 'Password is valid!';
} else {echo 'Invalid password.';
}
?>
http://www.xdnf.cn/news/858583.html

相关文章:

  • 【终终极版】linux(Ubuntu)下wineQQ的安装办法
  • 红旗linux如何开远程桌面,配置VNC服务实现红旗Linux远程桌面访问
  • 【微信小程序-0基础入门】项目发布完整流程_小程序发布流程怎么弄(1)
  • MySQL 安装与配置指南
  • 什么是物联网监控平台?部署物联网平台有什么作用?
  • Java的开发工具有哪些?这十款工具大厂都在用!
  • Linux下GCC的安装
  • kali linux渗透测试之漏洞扫描
  • 网络安全加固的五大手段!
  • MATLAB群智能开源第十九期-爬虫搜索算法
  • 微信查券返利机器人设置指南,轻松实现优惠券自动查询
  • 【转载】FileUpload控件如何实现上传和文件属性获取
  • GPS巡检管理系统新思路-灵活、快捷、智能巡检系统解决方案_设备智能巡检系统,设备巡检系统,智能巡更管理系统,森林防护AI智能识别巡检系统,智慧工地智能巡检系统,数字化巡检系统,智能巡检管理系统
  • 搭建自己的个人服务器(网络配置篇)
  • Keil的软件仿真和硬件仿真
  • 写字楼管理系统软件哪款好
  • 五款上网行为管理软件,5款常用的电脑上网行为管理软件
  • 什么是Platform SDK
  • 日本の行政区画--都道府県
  • 运行Windows终端提示由于找不到mscoree.dll无法继续执行代码
  • 摄影常用词:光圈、快门、曝光、底片、ISO、焦距、景深
  • 分享50个免费的云盘网盘服务——拥有无限储存空间
  • Ubuntu20.04安装搜狗拼音(详细操作 有图)
  • Windows缺少d3dx9_34.dll文件解决
  • 国内十大破解论坛
  • 关于C语言中的Complex(复数类型)和imaginary(虚数类型)
  • ACDsee_14中文许可证秘钥
  • Ubuntu16.04 apache2配置虚拟主机
  • 局域网共享故障的分析与排除
  • FlashPlayer 11.4 安全性升级