sql >> Database >  >> NoSQL >> MongoDB

Hoe crypto pbkdf2 op te slaan in mongoDB?

Het opslaan van de hash als een hex-tekenreeks in de database werkt goed voor mij (ze 'onbewerkt' opslaan in een String of een Buffer eigenschap niet):

var crypto      = require('crypto');
var mongoose    = require('mongoose');
var client      = mongoose.connect('mongodb://localhost/test');
var UserSchema  = new mongoose.Schema({
  salt  : String,
  hash  : String
});

var User = mongoose.model('User', UserSchema);

hash('secret', function(err, salt, key) {
  new User({ salt : salt, hash : key.toString('hex') }).save(function(err, doc) {
    User.findById(doc._id, function(err, doc) {
      hash('secret', doc.salt, function(err, key) {
        console.log('eq', doc.hash === key.toString('hex'));
      });
    });
  });
});

(trouwens, beide crypto.pbkdf2 en crypto.randomBytes synchrone tegenhangers hebben)




  1. hoe kan een Json in redis worden opgeslagen met hashmap (HSET)

  2. Sessie opslaan en ophalen uit Redis

  3. mongo - kon geen verbinding maken met server 127.0.0.1:27017

  4. Kan geen verbinding maken met lokale mongoDB vanuit java