4

Firebase は、認証に電子メール/パスワードが使用される「Simple Login」を提供します。firebase がパスワードを保存する前にソルトおよびハッシュするかどうかを知っている人はいますか? firebase はそうするのに十分なことを知っていると思いますが、1時間検索しても何も見つからなかったので、確認したかっただけです。

予想されるフォローアップ: Firebase が実際にパスワードをソルト + ハッシュしない場合、ユーザーのパスワードを取得し、ソルト + ハッシュして、保存/チェックするために Firebase に渡した場合、シンプル ログインは機能しますか?

前もって感謝します!

4

1 に答える 1

7

2016年現在

2016 年現在、Firebase は変更されたバージョンの scrypt を使用してパスワードを暗号化しています。暗号化を行うためのライブラリは、こちらの GitHub で公開されています。

サンプルに示すように、ソルトとハッシュの両方を使用します。

# 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"`

2016年以前

このページ ( http://firebase.com/docs/web/guide/simple-login/password.html ) によると、Firebase は bcrypt を使用します。

bcrypt の wiki ページ ( http://en.wikipedia.org/wiki/Bcrypt ) によると、ハッシュとソルトの両方を使用しています。

于 2014-08-07T11:21:44.163 に答える