sql >> Databasteknik >  >> NoSQL >> MongoDB

Hur lagrar man krypto pbkdf2 i mongoDB?

Att lagra hashen som en hex-sträng i databasen fungerar okej för mig (att lagra dem "rå" i antingen en String eller en Buffer egenskapen inte):

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'));
      });
    });
  });
});

(förresten, båda crypto.pbkdf2 och crypto.randomBytes har synkrona motsvarigheter)




  1. Flytta objekt atomiskt efter ID från en array till en annan i samma dokument

  2. ClassCastException under JNDI-sökning för MongoDB, inuti WAB, kör Liberty

  3. Hur man ställer in en Docker redis-behållare med ssl

  4. Mongo 3.6 aggregeringssökning med flera villkor