Создание 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