使用现有密码哈希和盐

时间:2016-09-22 18:21:50

标签: node.js firebase firebase-authentication gitkit

出于迁移原因,我需要使用现有密码&加盐并放入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哈希和盐来加密.createHmac?我尝试用值替换passwordHash和salt,但是它们需要以与createHmac编码它们相同的方式进行编码。

2 个答案:

答案 0 :(得分:1)

请参阅HMAC Implementation

关键的HMAC代码是:

hash(o_key_pad ∥ hash(i_key_pad ∥ message))

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

答案 1 :(得分:0)

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