password_hash 的盐存储在哪里?

2023-11-26

根据(相对)新的 PHP 文档:

The 密码哈希值函数使用随机盐(我们不应该担心..O_O),所以如果我理解正确,盐必须存储在某个地方,否则用户在注册网站后将无法登录(不同的盐=>不同的哈希值。)

该函数文档没有告诉任何有关与数据库交互的信息,并且由于我认为存储每个用户的数据只能通过数据库进行扩展,所以该函数到底在哪里存储随机盐? Atxt像会话数据这样的文件?


让我们通过其他人告诉你的例子来学习:

$options = [
    'cost' => 11,
    'salt' => 'abcdefghijklmnopqrstuv',
];
echo password_hash("rasmuslerdorf", PASSWORD_DEFAULT, $options)."\n";

Output:

$2y$11$abcdefghijklmnopqrstuu7aZVUzfW85EB4mHER81Oudv/rT.rmWm

粗体部分是您的成本和盐,分别嵌入到生成的哈希中。

你可以把这个吐回password_verify它会相应地处理它:

print_r(password_verify('rasmuslerdorf', '$2y$11$abcdefghijklmnopqrstuu7aZVUzfW85EB4mHER81Oudv/rT.rmWm')); // true
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

password_hash 的盐存储在哪里? 的相关文章

  • gmail 不断阻止 PHPmailer 登录

    我将在接下来的 8 小时内部署一个网站 而 Gmail 刚刚停止接受 PHPmailer 登录我的帐户 起初 它在测试过程中工作了几个小时 然后 它就停止工作了 我已经允许所有允许不太安全的应用程序从 gmail 登录 但它仍然不允许 ph
  • openssl_pkey_get_details($res) 不返回公共指数

    我在用着这个例子 https stackoverflow com a 12575951 2016196使用 php 生成的密钥进行 javascript 加密openssl图书馆 但是 details openssl pkey get de
  • 通过 Ajax 加载内容时,WORDPRESS 音频播放器未加载,MediaElement.js 未应用

    我正在创建一个 WordPress 主题 当我使用 ajax 加载内容时 它不会将 MediaElements js 应用于我的音频播放器 因此不会显示音频 我认为这是因为 MediaElement js 加载了 wp footer 并且此
  • 单词之间没有空格的语言(例如亚洲语言)中的断词?

    我想让 MySQL 全文搜索适用于日语和中文文本以及任何其他语言 问题在于这些语言以及可能其他语言通常在单词之间没有空格 当您必须键入与文本中相同的句子时 搜索没有用 我不能只在每个字符之间添加空格 因为英语也必须有效 我想用 PHP 或
  • 如何解压 PHP/Lumen/Laravel 的 gzip 请求?

    我收到来自第三方的 gzip 编码文本请求 1mb 所以这是有道理的 我的测试路线 router gt post testgzip function Illuminate Http Request request decompressed
  • 在 php 中为类自动生成 getter 和 setter 的最佳方法是什么? [关闭]

    Closed 这个问题是基于意见的 help closed questions 目前不接受答案 我经常创建一个包含一些私有变量的类 当设置此类的实例时 应该可以使用 getter 和 setter 填充该类的所有变量 有没有一种简单的方法可
  • 使用 preg_replace 仅替换第一个匹配项

    我有一个结构类似于以下的字符串 aba aaa cba sbd dga gad aaa cbz 该字符串每次都可能有点不同 因为它来自外部源 我只想替换第一次出现的 aaa 但其他人则不然 是否可以 可选的第四个参数预替换 http php
  • 如何在原则 2 迁移中删除外键

    我想在原则 2 迁移中删除外键 但没有 dropForeignKeyConstraint 有谁知道怎么丢掉吗 public function down Schema schema table schema gt getTable table
  • 学说迁移后备

    我们正在使用原则迁移 当迁移包含多个操作并且其中一个操作失败时 通常会出现问题 例如 如果迁移添加了 5 个外键 其中第 5 个失败 而字段长度不同 则修复字段错误并重新生成迁移不会not修复整个问题 而现在出现一个与 4 个密钥已存在有关
  • 在 PHP 中使用 phpseclib 时出现 RSA 问题

    我正在尝试在 phpseclib 中使用 RSA 实现 我认为在函数中执行一次代码并重新使用该函数会更容易 当我尝试向代码发送短信时 我收到一条错误消息 提示 解密错误 测试还让我意识到每次代码运行时密文都是不同的 所以我显然在那里做错了什
  • 在 Wordpress 站点中进行 AJAX 调用时出现问题

    我在使用 Wordpress 站点功能的 AJAX 部分时遇到了一些问题 该功能接受在表单上输入的邮政编码 使用 PHP 函数来查找邮政编码是否引用特定位置并返回到该位置的永久链接 我的第一个问题是关于我构建的表单 现在我的表单操作是空白的
  • 通过 $_SESSION 从一个脚本发送到另一个脚本期间数据丢失

    我正在尝试将一个充满属性的对象从一个 PHP 发送到另一个 PHP SESSION object obj where obj是一个用 foreach 循环指定的对象 foreach array of objects as obj SESSI
  • Woocommerce 结账自定义选择字段

    我有以下功能 将选择列表添加到 woo commerce 结账表单中 woocommerce form field airport pickup array type gt select class gt array airport pic
  • jQuery Mobile 表单验证

    我有一个移动网站 除了验证之外一切都工作正常 基本上我希望从用户那里获取值 然后在单独的页面 process php 上处理它们 但是 在这样做之前 我需要检查以确保字段已填充 我已经研究了几种方法来做到这一点 但似乎没有一种有效 我现在有
  • 在 apache docker 容器中运行虚拟主机

    我在同一个 apache 容器中有两个 php 应用程序 我试图在端口上运行其中一个应用程序 因为它需要通过根域而不是子文件夹进行访问 我想在端口 8060 上运行应用程序 我尝试使用 apache 虚拟主机执行此操作 但它不会加载页面 h
  • 表单计算器脚本基本价格未加载 OnLoad

    我的表单中有一个计算器来计算我的下拉选项选择 function select calculate on change calc input type checkbox calculate on click calc function cal
  • 标准化 UTF-8 到底是什么?

    The 重症监护室项目 http userguide icu project org transforms normalization 现在也有一个PHP库 http us php net manual en class normalize
  • 使用正则表达式提取两个短语之间的所有单词[重复]

    这个问题在这里已经有答案了 我正在尝试使用以下正则表达式提取两个短语之间的所有单词 b item W w W 0 2 1 one W w W 0 3 business b b item W w W 0 2 3 three W w W 0 3
  • 为什么 Composer 降级了我的包?

    php composer phar update这样做了 删除了 2 3 0 软件包并安装了整个 2 2 5 Zend Framework php composer phar update Loading composer reposito
  • 如何使用 PHPExcel 库从 Excel 获取日期

    我正在尝试使用 PHPExcel 从 Excel 获取日期 但我没有得到日期 我得到的字符串值不是 1970 以来的秒数 我尝试过的代码是 InvDate trim excel gt getActiveSheet gt getCell B

随机推荐

  • .NET4.0 不完全支持 EF 5 是否存在技术原因?

    我想将我的应用程序升级到 EF 5 以利用对枚举空间的支持等功能 但是 除非迁移到 Net 4 5 否则我无法升级 我想知道 EF 5 使用了 Net 4 5 的哪些功能而在 Net 4 0 中无法实现 我的理解是 EF gt 4 1 包括
  • 将坐标从 EPSG 3857 转换为 4326

    我的数据库中有一个 EPSG 3857 格式的坐标列表 我需要将它们转换为 EPSG 4326 我正在尝试使用 DotSpatial 但我的代码总是重新调整 Infinity 的双数组 public double ConvertCoodin
  • 动态增加/减少数组大小

    我正在尝试动态增加数组的大小 是否有任何标准 C 或 C 函数可以在数组末尾添加额外空间或将其删除 我知道 这很困难 因为不能保证堆末尾有足够的空间 但这不应该是操作系统的工作吗 您正在寻找的功能是realloc 在 C 中 它也存在于 C
  • 奇怪的 numpy fft 性能

    在测试过程中我注意到一些奇怪的事情 我对很多向量进行 FFT 有时 numpy FFT 函数似乎会崩溃 我对此进行了简要调试 发现某些向量长度触发了该行为 偶然间 我保持了一个脚本的运行 令我惊讶的是 它没有崩溃 只是花了更长的时间 有谁知
  • 调用 forRoot 时,Angular 延迟加载不起作用

    我有一个延迟加载模块 需要公开提供程序 所以我使用forRoot约定并返回以下代码 NgModule imports RouterModule forChild path component LazyComponent declaratio
  • 网站上从用户本地时间到 UTC 的日期/时间转换

    我目前正在向网站添加一个类似外出的系统 用户可以在其中标记他们的外出日期和时间 以便他们可以提供其他用户的信息 以便在外出时用作备份 我遇到的问题是将用户的本地时间转换为 UTC 我见过其他帖子通过向用户提供 UTC 并让客户端 js 将时
  • 使用 matplotlib 作为日期刻度的语言为英语

    我的母语是法语 所以我的操作系统界面 GNU Linux Xubuntu 是法语 因此 当我使用 Matplotlib 绘制时间序列时datetime作为 X 数据 返回的图有用法语写的月份 我如何获得其他语言 通常是英语 的打印日期 您可
  • Java 泛型捕获列表

    我正在看Java 泛型文档并找到了这段代码 public class WildcardError void foo List并尝试将其设置为另一个List
  • 使用 MVVM 模式处理 SwiftUI 和 CoreLocation

    我正在尝试实施SwiftUI and 核心位置与MVVM模式 My LocationManager因为助手工作得很好 但是我如何改变我的属性LocationViewModel 我实施了我的 ObservedObject of the Loc
  • 结束 BeginInvoke 的正确方法?

    我最近在 MSDN 上阅读此主题 因此 我正在考虑使用 lambda 表达式作为调用 EndInvoke 的一种方式 以确保一切都良好且整洁 哪个更正确 示例1 Action
  • C语言中如何读取带空格的字符串?

    scanf s str 不会这样做 它将在第一个空格处停止读取 当字符串很大时 gets str 也不起作用 有任何想法吗 use fgets以 STDIN 作为文件流 然后您可以指定要读取的数据量以及将其放置在何处
  • XSLT 混合内容节点

    我有一个很愚蠢的问题 如何确保我的 XML 混合内容节点不会混淆 比如说 我有一个与此类似的 XML 结构
  • 如何在Android中设置进度条的最大值[关闭]

    就目前情况而言 这个问题不太适合我们的问答形式 我们希望答案得到事实 参考资料或专业知识的支持 但这个问题可能会引发辩论 争论 民意调查或扩展讨论 如果您觉得这个问题可以改进并可能重新开放 访问帮助中心以获得指导 我想设置 a 的最大值Pr
  • GDB 中的格式化打印

    我想做printf风格印刷来自GDB 例如 我想打印一个变量值 但用一些文本来描述它是什么 可以吗 如果可以的话 能举个例子吗 你可以非常多地使用printf in gdb如下 gdb printf s x Hello world gdb
  • Laravel 样式表和 javascript 不会加载非基本路由

    好吧 我知道这是一个非常基本的问题 但我无法弄清楚 这是一个关于 Laravel 的问题 基本上 我将样式表嵌入到我的默认布局视图中 我目前只是使用常规 css 来链接它们 例如 当我处于单级路线时 例如 about 但是当我深入时停止工作
  • 类 C 语言中的返回类型多态性

    为什么我们没有看到类似 C 的语言允许在返回类型中具有多态性的可调用对象 我可以看到附加类型推断将成为一个障碍 但我们有很多语言具有成熟的类型推理系统 适用于不同级别的 工作 Edit 通过返回类型多态性 我的意思是仅在返回类型中重载函数签
  • 使用 TextDecoder/TextEncoder 将 ArrayBuffer 转换为 String,然后返回 ArrayBuffer,返回不同的结果

    我有一个 ArrayBuffer 它是通过使用 Frida 读取内存而返回的 我将 ArrayBuffer 转换为字符串 然后使用 TextDecoder 和 TextEncoder 返回 ArrayBuffer 但结果在此过程中发生了变化
  • Java 中保存连接字符串参数的配置文件

    我有 ASP Net 背景 我现在正在编写一个Java 程序 将数据从DB2 数据库导入到Oracle 数据库中 我已经完成了导入此数据的基本功能 我遇到的问题是 我将所有连接属性都编码到了 Java 程序本身中 是否有任何 最佳实践 方法
  • CSS:如何使光标成为输入文件上的指针?

    当鼠标悬停时 如何使光标成为输入文件或输入文本上的指针 我尝试过 但当然行不通
  • password_hash 的盐存储在哪里?

    根据 相对 新的 PHP 文档 The 密码哈希值函数使用随机盐 我们不应该担心 O O 所以如果我理解正确 盐必须存储在某个地方 否则用户在注册网站后将无法登录 不同的盐 gt 不同的哈希值 该函数文档没有告诉任何有关与数据库交互的信息