mongodb,node.js和加密数据

时间:2012-08-31 10:21:27

标签: node.js mongodb encryption aes bson

我正在开发一个涉及大量加密数据的项目。基本上,这些是序列化为String的JSON对象,然后用AES256加密成Cyphertext,然后必须存储在Mongo中。 我当然可以按照上面描述的方式执行此操作,它将密文作为String存储到BSON文档中。但是,这样一来,如果出于某种原因,Cyphertext没有得到正确处理(例如,不同的字符集或任何原因),密文会被改变,我不能再重建原始字符串了。有数百万条记录,这是不可接受的(它也很慢)。

是否有正确的方法以某种原生二进制格式保存密文,检索二进制文件然后将其返回到原始字符串?我习惯使用字符串,我的二进制格式技巧非常生疏。我很想听听你对这个问题的看法。

感谢大家的意见,

费边

1 个答案:

答案 0 :(得分:4)

是的:)

var Binary = require('mongodb').Binary;
var doc = {
  data: new Binary(new Buffer(256))
}

or with 1.1.5 of the driver you can do

var doc = {
  data: new Buffer(256)
}

数据始终作为二进制对象返回,而不是缓冲区。文档链接如下。

http://mongodb.github.com/node-mongodb-native/api-bson-generated/binary.html