diff --git a/node_modules/c9/passcrypt.js b/node_modules/c9/passcrypt.js index 081f7e00..e595e6e2 100644 --- a/node_modules/c9/passcrypt.js +++ b/node_modules/c9/passcrypt.js @@ -6,15 +6,21 @@ var hashing = require('./hashing'); var bcrypt; -try { - bcrypt = require('bcrypt'); -} catch (e) { - console.error("Failed to load brcrypt - binary version mismatch?", e.stack); - process.exit(1); -} var SALT_LENGTH = 8; +function loadBcrypt() { + if (bcrypt) return; + + try { + bcrypt = require('bcrypt'); + } catch (e) { + console.error("Failed to load bcrypt - binary version mismatch?", e.stack); + process.exit(1); + } +} + exports.encrypt = function(password, callback) { + loadBcrypt(); var passwordHashed = hashing.md5(password); bcrypt.hash(passwordHashed, SALT_LENGTH, function(err, passwordEncrypted) { if (err) return callback(err); @@ -23,6 +29,7 @@ exports.encrypt = function(password, callback) { }; exports.compare = function(password, encrypted, callback) { + loadBcrypt(); var passwordHashed = hashing.md5(password); if (passwordHashed == encrypted) { // Some passwords may still only be hashed, not bcrypted, so see if that worked first. return callback(null, true);