@@ -10,7 +10,7 @@ var crypto = require('crypto');
1010var config = require ( '../config' ) . config ;
1111var message_ctrl = require ( './message' ) ;
1212var mail_ctrl = require ( './mail' ) ;
13- var bcrypt = require ( 'bcrypt ' ) ;
13+ var pbkdf2 = require ( '../libs/pbkdf2 ' ) ;
1414
1515// private
1616
@@ -116,12 +116,12 @@ exports.signup = function (req, res, next) {
116116 return ;
117117 }
118118
119- // bcrypt the pass
120- bcrypt . genSalt ( config . genSalt , function ( err , salt ) {
119+ // PBKDF2 encryption
120+ pbkdf2 . genSalt ( config . genSalt , function ( err , salt ) {
121121 if ( err ) {
122122 return next ( err ) ;
123123 }
124- bcrypt . hash ( pass , salt , function ( err , hash ) {
124+ pbkdf2 . hash ( pass , salt , function ( err , hash ) {
125125 if ( err ) {
126126 return next ( err ) ;
127127 }
@@ -132,6 +132,7 @@ exports.signup = function (req, res, next) {
132132 user . name = name ;
133133 user . loginname = loginname ;
134134 user . pass = hash ;
135+ user . salt = salt ;
135136 user . email = email ;
136137 user . avatar = avatar_url ;
137138 user . active = false ;
@@ -195,7 +196,7 @@ exports.login = function (req, res, next) {
195196 if ( ! user || user . pass === undefined ) {
196197 return res . render ( 'sign/signin' , { error : '這個用戶不存在。' } ) ;
197198 }
198- bcrypt . compare ( pass , user . pass , function ( err , equal ) {
199+ pbkdf2 . compare ( pass , user . pass , user . salt , function ( err , equal ) {
199200 if ( err ) {
200201 return next ( err ) ;
201202 }
@@ -339,16 +340,17 @@ exports.reset_pass = function (req, res, next) {
339340 return res . render ( 'notify/notify' , { error : '錯誤的激活鏈接' } ) ;
340341 }
341342
342- bcrypt . genSalt ( config . genSalt , function ( err , salt ) {
343+ pbkdf2 . genSalt ( config . genSalt , function ( err , salt ) {
343344 if ( err ) {
344345 return next ( err ) ;
345346 }
346- bcrypt . hash ( psw , salt , function ( err , hash ) {
347+ pbkdf2 . hash ( psw , salt , function ( err , hash ) {
347348 if ( err ) {
348349 return next ( err ) ;
349350 }
350351
351352 user . pass = hash ;
353+ user . salt = salt ;
352354 user . retrieve_key = null ;
353355 user . retrieve_time = null ;
354356 user . active = true ; // 用戶激活
0 commit comments