Business
Jobs
  • About Us
  • Solutions
    • Job Postings
      Post your job and receive qualified candidates in 48h.
    • Candidate Assessments
      500+ technical and psychological tests, plus anti-fraud.
    • Headhunting
      Tailor-made executive search from start to finish.
    • Payroll + EOR
      Payroll dispersal and EOR across 15+ LATAM countries.
  • Pricing
  • Jobs

0

381
Views
TypeError: bcrypt.checkPassword is not a function

I want to check password when users log in but there is an error message "TypeError: bcrypt.checkPassword is not a function".

Here are my code and I don't understand why bcrypt.checkPassword isn't a function.

[bcrypt.js]

var checkPassword = function(textEnteredInLoginForm, hashedPasswordFromDatabase) {
  return new Promise(function(resolve, reject) {
    bcrypt.compare(textEnteredInLoginForm, hashedPasswordFromDatabase, function(err, doesMatch){
        if (err) {
          reject(err);
        }
      console.log(doesMatch);
      resolve(doesMatch);
    });
  });
};


module.exports.checkPassword = checkPassword;

[db.js]

var bcrypt = require('bcrypt');


module.exports.login = function(email, password){
  var hashedPasswordFromDatabase;
  var query = `SELECT * FROM users WHERE email ='{$req.body.email}'`;
  db.query(query).then(function(data){
    return hashedPasswordFromDatabase = data[0].password;
    console.log("hashedPasswordFromDatabase : "+hashedPasswordFromDatabase);
  });

  return bcrypt.checkPassword(password).then(function(password, hashedPasswordFromDatabase){
    var query = 'SELECT * FROM users';
    return db.query(query).then(function(results){
      return results.rows;
    });
  });
};

[ router.js ]

var express = require('express');
var cookieSession = require('cookie-session');
var db = require('../configure/db');
var bcrypt = require('../public/js/bcrypt');
var router = express.Router();

router.route('/login')
.get(function(req,res) {
  res.render('login');  // url -> /login
})
.post(function(req,res){
  db.login(req.body.email, req.body.password)
  .then(function(data){
    res.redirect('/petition'); // login -> petition
  }).catch(function(error){
    console.log(error);
    res.render('error');
  });
});
about 4 years ago · Santiago Trujillo
1 answers
Answer question

0

You made a file called bcrypt.js and are using the npm package bcrypt.

To use the package, like you would need to do in bcrypt.js, you would

require('bcrypt') //no path searches node_modules

To use the file you created, like you want to do db.js, you need to include your file

require('./bcrypt.js') //relative paths indicate local files

I'd suggest naming your file something different so you do not confuse the two.

about 4 years ago · Santiago Trujillo Report
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Sales
Legal
Terms and conditions Privacy policy
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Show me some job opportunities
There's an error!