Skip to content

Nodejs implementation of Firebase's Scrypt modified version.

License

Notifications You must be signed in to change notification settings

busec0/firebase-scrypt

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

16 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Node Firebase Scrypt

NodeJs implementation of Firebase's Scrypt modified version

Warning

This module work only with users exported with Firebase Tools CLI and the command auth:export. Others way to gets users (Admin SDK, etc.) will give you an incompatible hash.

Table of Contents

Install

To install, run :

npm i firebase-scrypt

Usage

Firebase parameters

Go to Firebase to get your hash parameters. To access these parameters, navigate to the 'Users' tab of the 'Authentication' section in the Firebase Console and select 'Password Hash Parameters' from the drop down in the upper-right hand corner of the users table.

Initialisation

import { FirebaseScrypt } from 'firebase-script'

const firebaseParameter = {
  memCost: 1, // replace by your
  rounds: 1, // replace by your
  saltSeparator: 'your-separator', // replace by your 
  signerKey: 'your-key', // replace by your
}

const scrypt = new FirebaseScrypt(firebaseParameters)

Hash

[...]

const password = "test"
const salt = "salt"

scrypt.hash(password, salt)
  .then(hash => console.log(hash))

Verify

[...]

const password = "test"
const salt = "salt"
const hash = "PrZI5nfqjOEk"

scrypt.verify(password, salt, hash)
  .then(isValid => isValid ? console.log('Valid !') : console.log('Not valid !'))

Test

To test, run :

npm run test

About

Nodejs implementation of Firebase's Scrypt modified version.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • JavaScript 83.2%
  • Shell 16.8%