MongoDB
 sql >> Cơ Sở Dữ Liệu >  >> NoSQL >> MongoDB

Làm cách nào để lưu trữ tiền điện tử pbkdf2 trong mongoDB?

Lưu trữ băm dưới dạng chuỗi hex trong cơ sở dữ liệu hoạt động ổn đối với tôi (lưu trữ chúng 'thô' trong String hoặc Buffer thuộc tính không):

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

(nhân tiện, cả crypto.pbkdf2crypto.randomBytes có đối tác đồng bộ)




  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Cập nhật nhiều tài liệu trong một bộ sưu tập bằng cách sử dụng trường hợp chuyển đổi

  2. Đồng bộ MongoDb với ElasticSearch

  3. Xóa _Id khỏi phản hồi tổng hợp mongoose

  4. Dấu thời gian Mongodb rất không chính xác - mongoose

  5. Tôi có nên sử dụng ObjectID hoặc uid (do chính tôi triển khai) để xác định người dùng không?