【问题标题】:mongodb, node.js and encrypted datamongodb、node.js 和加密数据
【发布时间】:2012-08-31 21:34:45
【问题描述】:

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

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

感谢大家的意见,

法比安

【问题讨论】:

    标签: node.js mongodb encryption aes bson


    【解决方案1】:

    是的:)

    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

    【讨论】:

    • 谢谢,但它只解决了我对二进制的一半不安全感。猜猜我可以将二进制文件保存到数据库中,但这仍然留下了如何创建二进制密文的问题..
    • nodejs.org/api/crypto.html#crypto_class_cipher 只需使用 node.js 加密 API 加密数据并使用 Binary 类保存生成的 Buffer。
    猜你喜欢
    • 2021-07-22
    • 1970-01-01
    • 2011-10-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-01-06
    • 2018-10-22
    相关资源
    最近更新 更多