Python implementation of Firebase's scrypt password hashing algorithm. Based on firebase/scrypt.
This is a fork of Jaakkol/firebase-scrypt-python to allow packaging for PyPI.
pip3 install firebase-scrypt
import firebase_scrypt
# Sample Password hash parameters from Firebase Console.
salt_separator = "Bw=="
signer_key = "jxspr8Ki0RYycVU8zykbdLGjFQ3McFUH0uiiTvC8pVMXAn210wjLNmdZJzxUECKbm0QsEmYUSDzZvpjeJ9WmXA=="
rounds= 8
mem_cost=14
# Exported user user accounts salt and password hash.
salt = "42xEC+ixf3L2lw=="
password_hash="lSrfV15cpx95/sZS2W9c9Kp6i/LVgQNDNC/qzrCnh1SAyZvqmZqAjTdn3aoItz+VHjoZilo78198JAdRuid5lQ=="
# User's plain text password
password = "user1password"
is_valid = firebase_scrypt.verify_password(
password=password,
known_hash=password_hash,
salt=salt,
salt_separator=salt_separator,
signer_key=signer_key,
rounds=rounds,
mem_cost=mem_cost
)
is_valid # True / False
TLDR: Please submit an issue on github.
In the case of bug reports, please help me help you by following best practices 1 2.
In the case of feature requests, please provide background to the problem you are trying to solve so to help find a solution that makes the most sense for the library as well as your usecase.
The only development dependencies are bash and docker. All actions are run within docker for ease of use. See ./dev.sh help
for commands. Typical commands are format
, lint
, test
, repl
, build
.
This project is licenced under the MIT Licence - see LICENCE
.
This project may include other open source licenced software - see NOTICE
.
- Nicholas Hairs - www.nicholashairs.com
- Jaakko Laurila