Skip to content

ooozws/fast-srp

Repository files navigation

fast-srp

Is a pure NodeJS implementation of the SRP6a protocol.

It's a derived work of Jed Parson's node-srp and Tom Wu's jsbn.

Creating the Verifier

'use strict';

var srp6a = require('fast-srp');

/**
 * Computes the verifier of a user. Only needed to add the user to the auth system.
 *
 * I: (string)		Username to compute verifier
 * P: (string)		Password
 * callback: (function) Callback function with two params; error, verifier
 *
 * returns: verifier (Buffer)
 *
 */

var srp6a_create_user = function(I, P, callback) {
  srp6a.genKey(32, function(error, salt) {
	  if(error) {
	    callback(error);
	  }
	  var v = srp6a.computeVerifier(srp6a.params[4096], salt, new Buffer(I), new Buffer(P));
	  callback(null, v);
  });
}

srp6a_create_user('Zarmack Tanen', '*****', function(error, verifier) {
  if(error)
    throw error;
  console.log("SRP6a verifier of Zarmack Tanen user is " + verifier.toString('hex'));
});

About

Pure NodeJS SRP implementation

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • TypeScript 62.0%
  • JavaScript 38.0%