Создание HMAC с существующим хешем и солью пароля

По причинам миграции мне нужно взять существующий пароль и соль и поместить его в Firebase. Я загружаю учетные записи в Firebase, используя набор идентификаторов Google. Этот комплект позволяет мне создавать пользователей и требует посоленный пароль 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()
};

Выше это то, что будет загружено на сервер. Есть ли способ crypto.createHmac с существующим хешем и солью SHA-1? Я попытался просто заменить passwordHash и соль на значения, но они должны быть закодированы так же, как createHmac их кодирует.

2 ответа

Решение

См. Внедрение HMAC.

Ключевой код HMAC:

hash(o_key_pad ∥ hash(i_key_pad ∥ message))

Таким образом, кажется, что ответ отрицательный, так как дополненный ключ должен быть соединен с сообщением.

Вы можете передать существующий ключ HMAC как signerKey в запросе API UploadAccoun ts Google Identity Toolkit: https://developers.google.com/iden tity/toolkit/web/reference/relyingparty/uploadAccoun t

Другие вопросы по тегам