Skip to main content

Python implementation of Firebase's scrypt password hashing algorithm.

Project description

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

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distributions

No source distribution files available for this release.See tutorial on generating distribution archives.

Built Distribution

firebase_scrypt-0.1.0-py3-none-any.whl (7.0 kB view details)

Uploaded Python 3

File details

Details for the file firebase_scrypt-0.1.0-py3-none-any.whl.

File metadata

File hashes

Hashes for firebase_scrypt-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 f0019f54e496db25829aae13bf178f5c40e47d7dadf39fc56cddfb511721e8ae
MD5 24574eac8fd8bb022a3a29ede2b046bf
BLAKE2b-256 7b17e6b4a0871e7067069575c062c1af6bca8ec04c8979a6c099e37c18fd86e4

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page