4

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

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

谢谢各位的意见,

费边

4

1 回答 1

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

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

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

于 2012-08-31T13:34:45.387 回答