sql >> データベース >  >> NoSQL >> MongoDB

暗号pbkdf2をmongoDBに保存する方法は?

    ハッシュを16進文字列としてデータベースに保存することは、私にとっては問題ありません(Stringのいずれかに「raw」で保存します)。 またはBuffer プロパティはしません):

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

    (ちなみに、両方のcrypto.pbkdf2 およびcrypto.randomBytes 同期の対応物があります)




    1. アグリゲーションの上位n個のバケットと、他のすべてのバケットを組み合わせて他のバケットにするにはどうすればよいですか?

    2. Ubuntu 13.10(saucy)にMongodb PHP拡張機能をインストールする最も簡単な方法は?

    3. bson javaの実装が4バイトのincフィールドを使用するのはなぜですか?

    4. mongodbアグリゲーションでのルックアップ