NodeJs implementation of Firebase's Scrypt modified version
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.
To install, run :
npm i firebase-scrypt
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.
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)
[...]
const password = "test"
const salt = "salt"
scrypt.hash(password, salt)
.then(hash => console.log(hash))
[...]
const password = "test"
const salt = "salt"
const hash = "PrZI5nfqjOEk"
scrypt.verify(password, salt, hash)
.then(isValid => isValid ? console.log('Valid !') : console.log('Not valid !'))
To test, run :
npm run test