From a23f46f0661b7dbf7baf1bf6bed8d3c5234bc04e Mon Sep 17 00:00:00 2001 From: Amos Haviv Date: Sun, 29 Sep 2013 14:33:20 +0300 Subject: [PATCH] Revert "Merge pull request #79 from mrngoitall/master" This reverts commit b83fb4a4c944eea760db000249f126f543596dab, reversing changes made to f5f4663774002731123dd2ab08ad90052adb4008. --- app/models/user.js | 18 +++++++++++++++--- package.json | 3 +-- 2 files changed, 16 insertions(+), 5 deletions(-) diff --git a/app/models/user.js b/app/models/user.js index 118308c049..daf9b2ad89 100755 --- a/app/models/user.js +++ b/app/models/user.js @@ -3,7 +3,7 @@ */ var mongoose = require('mongoose'), Schema = mongoose.Schema, - bcrypt = require('bcrypt'), + crypto = require('crypto'), _ = require('underscore'), authTypes = ['github', 'twitter', 'facebook', 'google']; @@ -17,6 +17,7 @@ var UserSchema = new Schema({ username: String, provider: String, hashed_password: String, + salt: String, facebook: {}, twitter: {}, github: {}, @@ -28,6 +29,7 @@ var UserSchema = new Schema({ */ UserSchema.virtual('password').set(function(password) { this._password = password; + this.salt = this.makeSalt(); this.hashed_password = this.encryptPassword(password); }).get(function() { return this._password; @@ -90,7 +92,17 @@ UserSchema.methods = { * @api public */ authenticate: function(plainText) { - return bcrypt.compareSync(plainText,this.hashed_password); + return this.encryptPassword(plainText) === this.hashed_password; + }, + + /** + * Make salt + * + * @return {String} + * @api public + */ + makeSalt: function() { + return Math.round((new Date().valueOf() * Math.random())) + ''; }, /** @@ -102,7 +114,7 @@ UserSchema.methods = { */ encryptPassword: function(password) { if (!password) return ''; - return bcrypt.hashSync(password, 10); + return crypto.createHmac('sha1', this.salt).update(password).digest('hex'); } }; diff --git a/package.json b/package.json index 747e63bb2c..5c61090903 100755 --- a/package.json +++ b/package.json @@ -36,8 +36,7 @@ "forever": "latest", "grunt": "latest", "grunt-cli": "latest", - "grunt-bower-task": "latest", - "bcrypt": "latest" + "grunt-bower-task": "latest" }, "devDependencies": { "supertest": "latest",