node.js - 使用现有密码哈希和盐创建 HMAC

标签 node.js firebase firebase-authentication gitkit

出于迁移原因,我需要获取现有密码和盐并将其放入 Firebase 中。我正在使用 Google Identity Kit 将帐户上传到 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 编码相同的方式进行编码。

最佳答案

参见HMAC Implementation .

关键的 HMAC 代码是:

hash(o_key_pad ∥ hash(i_key_pad ∥ message))

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

关于node.js - 使用现有密码哈希和盐创建 HMAC,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39646255/

相关文章:

javascript - 具有 "NULL"值的 JSON 对象在通过 HTTP 请求发送到服务器时更改为银行值

javascript - grunt-ng-constant 不生成配置脚本

firebase - 应用程序被终止后,Flutter firebase 身份验证不会持续存在

node.js - Node.js 的最佳 XMPP 客户端库

node.js - 如何让 ESLint 识别 Docusaurus 别名?

ios - 使用 Swift 在 Firebase 中使用 Geofire 保存 GeoLocation

ios - 使用 iOS 的 Firebase Google Auth

javascript - 如何使用 firebase auth 实现重新发送 OTP

java - Firebase 安卓。如果我多次添加同一个监听器怎么办?

javascript - Vue.js 中的二维数组