Skip to content

Python implementation of Firebase's scrypt password hashing algorigtm.

License

Notifications You must be signed in to change notification settings

nhairs/firebase-scrypt

 
 

Repository files navigation

firebase-scrypt-python

PyPi PyPI - Status Python Versions License

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.

Installation

Install via pip

pip3 install firebase-scrypt

Usage

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

Bugs, Feature Requests etc

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.

Development

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.

Licence

This project is licenced under the MIT Licence - see LICENCE.

This project may include other open source licenced software - see NOTICE.

Authors

About

Python implementation of Firebase's scrypt password hashing algorigtm.

Topics

Resources

License

Stars

Watchers

Forks

Languages

  • Shell 64.7%
  • Python 21.1%
  • Dockerfile 14.2%