Encryption 与邮袋转换加密和复制混淆
我的目标是确保远程沙发数据库中的所有数据都将被加密。当我在Pocky transform文档中遵循此示例时,我的数据在同步后未在远程端点加密Encryption 与邮袋转换加密和复制混淆,encryption,couchdb,pouchdb,Encryption,Couchdb,Pouchdb,我的目标是确保远程沙发数据库中的所有数据都将被加密。当我在Pocky transform文档中遵循此示例时,我的数据在同步后未在远程端点加密 pouch.transform({ incoming: function (doc) { encrypt(doc); }, outgoing: function (doc) { decrypt(doc); } }); 当我在输出端加密时,它会加密,但在本例中,我的数据
pouch.transform({
incoming: function (doc) {
encrypt(doc);
},
outgoing: function (doc) {
decrypt(doc);
}
});
当我在输出端加密时,它会加密,但在本例中,我的数据也在本地加密。我在这里做错了什么,加密的目的不是在远程数据库中加密数据吗?所以实现这一点的唯一方法是创建set/get包装器并在其中加密?我是否可以在传出呼叫中检测文档目的地
加密的目的不是要在远程数据库中加密数据吗
否。如以下文件所述:
对存储在数据库中前后的文档应用转换函数
换句话说,它只修改静止的数据
这个插件对发送到CouchDB或从CouchDB发送的数据没有任何影响,只是数据存储在PockDB本身中
如果您也想在CouchDB中加密文档,则需要在应用程序层进行加密。也就是说,自己加密数据,并将其存储在文档中或以加密形式作为附件。我也遇到了这个问题。我不想在复制时转换数据,因此我侵入并添加了一个复制标志,以便在复制时通过包装函数: 并修改了Pocket transform Pacake以将选项传递给outcoming回调:
{
// decrypt it here.
outgoing: async (doc, args: IPouchDBWrapperArgs, type: TransformPouchType) => {
const {options} = args;
if (!options.replicating) {
doc = await this.decryptDoc(doc, options);
}
return doc;
},
};
非常感谢你