【问题标题】:Creating an HMAC with an existing password hash and salt使用现有密码哈希和盐创建 HMAC
【发布时间】:2017-01-31 10:58:28
【问题描述】:

出于迁移原因,我需要使用现有密码和盐并将其放入 Firebase。我正在使用 google 身份工具包将帐户上传到 Firebase。这个工具包允许我创建用户并且需要一个 SHA-1 密码。

var user1 = {
localId: userId,
email: email,
salt: new Buffer('salt-1'),
  passwordHash: crypto.createHmac('SHA1', this.hashKey).update('a password' + 'salt-1').digest()
};

以上是上传到服务器的内容。有没有办法使用现有的 SHA-1 哈希和盐来进行 crypto.createHmac?我试过用值替换 passwordHash 和 salt,但它们需要以与 createHmac 编码相同的方式进行编码。

【问题讨论】:

    标签: node.js firebase firebase-authentication gitkit


    【解决方案1】:

    HMAC Implementation

    关键的HMAC代码是:

    hash(o_key_pad ∥ hash(i_key_pad ∥ message))
    

    所以答案似乎是否定的,因为填充键需要与消息连接。

    【讨论】:

    【解决方案2】:

    您可以在 Google Identity Toolkit UploadAccounts API 请求中将现有 HMAC 密钥作为 signerKey 传递:https://developers.google.com/identity/toolkit/web/reference/relyingparty/uploadAccount

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2011-12-06
      • 2011-01-09
      • 2010-11-30
      • 2014-06-09
      • 1970-01-01
      相关资源
      最近更新 更多