Firebase简单登录的Salt/Hash?

Firebase简单登录的Salt/Hash?,hash,firebase,salt,firebase-security,firebasesimplelogin,Hash,Firebase,Salt,Firebase Security,Firebasesimplelogin,Firebase提供“简单登录”,其中电子邮件/密码用于身份验证。有人知道firebase在存储密码之前是否对密码进行了加密和哈希处理?我想firebase知道的足够多,但我只是想确定一下,因为在一个小时的搜索之后,我找不到这方面的任何东西 预期的后续行动:如果firebase事实上没有对密码进行salt+散列,那么如果我将用户的密码salt+散列,并将其传递到firebase进行存储/检查,那么简单的登录是否有效 提前谢谢 截至2016年 截至2016年,Firebase使用修改版的scryp

Firebase提供“简单登录”,其中电子邮件/密码用于身份验证。有人知道firebase在存储密码之前是否对密码进行了加密和哈希处理?我想firebase知道的足够多,但我只是想确定一下,因为在一个小时的搜索之后,我找不到这方面的任何东西

预期的后续行动:如果firebase事实上没有对密码进行salt+散列,那么如果我将用户的密码salt+散列,并将其传递到firebase进行存储/检查,那么简单的登录是否有效


提前谢谢

截至2016年

截至2016年,Firebase使用修改版的scrypt对密码进行加密。GitHub上发布了一个用于执行加密的库

它同时使用salt和hash,如示例所示:

# Params from the project's password hash parameters
base64_signer_key="jxspr8Ki0RYycVU8zykbdLGjFQ3McFUH0uiiTvC8pVMXAn210wjLNmdZJzxUECKbm0QsEmYUSDzZvpjeJ9WmXA=="
base64_salt_separator="Bw=="
rounds=8
memcost=14

# Params from the exported account
base64_salt="42xEC+ixf3L2lw=="

# The users raw text password
password="user1password"

# Generate the hash
# Expected output:
# lSrfV15cpx95/sZS2W9c9Kp6i/LVgQNDNC/qzrCnh1SAyZvqmZqAjTdn3aoItz+VHjoZilo78198JAdRuid5lQ==
echo `./scrypt "$base64_signer_key" "$base64_salt" "$base64_salt_separator" "$rounds" "$memcost" -P <<< "$password"`
#项目密码散列参数中的参数
base64_signer_key=“JXSPR8KI0RYCVU8ZYKBDLGJFQ3MCFU0UIITVC8PVMXAN210WJLNMDZZXUECKBM0QSEMYUSDZVPJEJ9WMXA=”
base64_salt_separator=“Bw=”
轮数=8
memcost=14
#导出帐户中的参数
base64_salt=“42xEC+ixf3L2lw=”
#用户输入原始文本密码
password=“user1password”
#生成散列
#预期产出:
#lSrfV15cpx95/sZS2W9c9Kp6i/LVgQNDNC/qzrCnh1SAyZvqmZqAjTdn3aoItz+VHjoZilo78198JAdRuid5lQ==

echo`./scrypt“$base64\签名者\密钥”“$base64\盐”“$base64\盐\分隔符”“$rounds”“$memcost”-P根据本页()Firebase使用bcrypt。根据bcrypt()上的维基页面,它同时散列和使用盐。@FrankvanPuffelen完美!非常感谢你!我应该更仔细地阅读,而不是浏览和搜索。如果你把它作为一个答案发布,我会选择它吗?