出于迁移原因,我需要使用现有密码&加盐并放入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编码它们相同的方式进行编码。
答案 0 :(得分:1)
关键的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