【问题标题】:Firebase authentication: What do the scrypt password hash parameters mean?Firebase 身份验证:scrypt 密码哈希参数是什么意思?
【发布时间】:2020-10-19 15:53:50
【问题描述】:

firebase认证中不同参数的作用是什么

我在网上搜索了这些参数的信息,但没有成功。 rounds 和 mem_cost 有什么区别?bw== in salt seperator 是什么意思

hash_config {
  algorithm: SCRYPT,
  base64_signer_key: jxspr8Ki0RYycVU8zykbdLGjFQ3McFUH0uiiTvC8pVMXAn210wjLNmdZJzxUECKbm0QsEmYUSDzZvpjeJ9WmXA==,
  base64_salt_separator: Bw==,
  rounds: 8,
  mem_cost: 14,
}

【问题讨论】:

  • 您能否编辑问题以详细说明您在哪里看到这些参数,以及您用来生成您现在显示的内容的代码?
  • 我在firebase身份验证中看到了这些参数,(密码哈希参数)来自菜单

标签: firebase firebase-authentication firebase-admin


【解决方案1】:

Firebase 身份验证使用内部版本的 scrypt 基于密码的密钥派生函数来散列帐户密码。

为每个 Firebase 项目生成唯一的哈希参数。这些可以在以下位置查看:

Firebase Console > 认证 > 用户

从用户表右上角的下拉列表中选择密码哈希参数

Firebase Scrypt 参数

  • 算法 - 脚本
  • base64_signer_key - 签名者的公钥
  • base64_salt_separator - 将哈希与盐连接时使用的分隔符
  • rounds - blocksize 参数,用于微调顺序内存读取大小和性能。介于 0 和 120000(含)之间的整数。
  • mem_cost - 内存成本。 1 到 14(含)之间的整数

其他资源

【讨论】:

  • 你能解释一下轮数和内存成本有什么区别吗?
  • @KattaOmkareshwar 查看散列参数的更新信息。
  • Firebase 控制台中用户表的右上角似乎不再包含下拉菜单;是否有任何关于如何检查给定项目的密码哈希参数的更新信息?
  • @ChristopherPeisert 谢谢!我以前只有 Firebase 项目的查看者权限,这显然不足以访问密码哈希参数。一旦我获得所有者权限,三个点就会出现。
【解决方案2】:
hash_config {
  algorithm: SCRYPT,
  base64_signer_key: ecUEAYeNIvBmRWc+TvdNG+EaHzoABQnQeDWLva2/Onb2iTTxVDTUZ7KdXlQpxD7pVmcM9LR6L9QzCnI8mjR64A==,
  base64_salt_separator: Bw==,
  rounds: 8,
  mem_cost: 14,
}

【讨论】:

  • 请不要只发布代码作为答案,还要解释您的代码的作用以及它如何解决问题的问题。带有解释的答案通常更有帮助,质量更高,更有可能吸引投票。
猜你喜欢
  • 2020-11-12
  • 2019-04-19
  • 2021-12-12
  • 1970-01-01
  • 2015-12-17
  • 1970-01-01
  • 2016-06-06
  • 2016-04-19
  • 1970-01-01
相关资源
最近更新 更多