Skip to content

Instantly share code, notes, and snippets.

@bendiy
Created June 10, 2014 20:46
Show Gist options
  • Save bendiy/6a0133786f64766fecce to your computer and use it in GitHub Desktop.
Save bendiy/6a0133786f64766fecce to your computer and use it in GitHub Desktop.
forge-vs-ursa
var http = require('http'),
ursa = require("ursa"),
forge = require("node-forge"),
ursaStart,
ursaFinish,
forgeStart,
forgeFinish;
//http.createServer(function (req, res) {
//res.writeHead(200, {'Content-Type': 'text/plain'});
var genKeyForge = function () {
forgeStart = new Date().getTime();
console.log("genKeyForge 1.1: ", forgeStart);
//res.write("genKeyForge 1.1: " + forgeStart + '\n');
forge.pki.rsa.generateKeyPair({bits: 2048, workers: 1}, function(err, keypair) {
if (err) {
res.write({isError: true, message: "Error generating keypair: " + err.message, error: err});
return;
}
forgeFinish = new Date().getTime();
console.log("genKeyForge 1.2: ", forgeFinish);
//res.write("genKeyForge 1.2: " + forgeFinish + '\n');
console.log("genKeyForge time: ", forgeFinish - forgeStart);
//res.write("genKeyForge time: " + (forgeFinish - forgeStart) + '\n');
//console.log("genKeyUrsa keypair: ", JSON.stringify(keypair));
//res.end('\n');
return;
});
}
var genKeyUrsa = function () {
ursaStart = new Date().getTime();
console.log("genKeyUrsa 1.1: ", ursaStart);
//res.write("genKeyUrsa 1.1: " + ursaStart + '\n');
var keypair = ursa.generatePrivateKey();
var keys = {
privateKey: forge.pki.privateKeyFromPem(keypair.toPrivatePem().toString()),
publicKey: forge.pki.publicKeyFromPem(keypair.toPublicPem().toString())
};
ursaFinish = new Date().getTime();
console.log("genKeyUrsa 1.2: ", ursaFinish);
//res.write("genKeyUrsa 1.2: " + ursaFinish + '\n');
console.log("genKeyUrsa time: ", ursaFinish - ursaStart);
//res.write("genKeyUrsa time: " + (ursaFinish - ursaStart) + '\n');
//console.log("genKeyForge keypair: ", JSON.stringify(keys));
return;
}
genKeyUrsa();
genKeyForge();
//}).listen(8070);
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment