我正在尝试使用CLI将具有固定参数的用户帐户设置为Firebase,并成功上传数据后进行测试,然后在日志中得到INVALID_PASSWORD
我认为与盐和哈希有关,我是否将这些值设置不正确?
这里还有其他相关的问题,
https://stackoverflow.com/a/40851390/2513972
但是我尝试使用python,所以请帮助我,我被困在这里。
from passlib.hash import pbkdf2_sha256
from passlib.utils import to_bytes, to_native_str
import base64
PASSWORD = 'aA123456*'
ROUND = 20000
SALT = to_bytes('google')
hash1 = pbkdf2_sha256.using(salt=SALT,rounds=ROUND).hash(PASSWORD)
print(pbkdf2_sha256.identify(hash1))
# True
print(pbkdf2_sha256.verify(PASSWORD,hash1))
# True
print(hash1)
# $pbkdf2-sha256$20000$Z29vZ2xl$PtFLyZHJJucUa2KBg1iJeVJsivis8JimRhFifRRKlFc
print(base64.b64encode(b'Z29vZ2xl'))
# b'WjI5dloyeGw='
print(base64.b64encode(b'PtFLyZHJJucUa2KBg1iJeVJsivis8JimRhFifRRKlFc'))
# b'UHRGTHlaSEpKdWNVYTJLQmcxaUplVkpzaXZpczhKaW1SaEZpZlJSS2xGYw=='
# firebase auth:import sandbox/account_file.csv --hash-algo=PBKDF2_SHA256 --rounds=20000 --project <project_name>
# account_file.csv
# 555000444,example@gmail.com,false,UHRGTHlaSEpKdWNVYTJLQmcxaUplVkpzaXZpczhKaW1SaEZpZlJSS2xGYw==,WjI5dloyeGw=,,,,,,,,,,,,,,,,,,,,,,
答案 0 :(得分:0)
密码已经具有base64格式的值,因此不需要再次使用base64.b64encode方法进行解析。
# account_file.csv
# 555000444,example@gmail.com,false,PtFLyZHJJucUa2KBg1iJeVJsivis8JimRhFifRRKlFc,Z29vZ2xl,,,,,,,,,,,,,,,,,,,,,,