我在我的 angular webapp 中创建了一个带有 pouchDB 的 indexedDB。每次我关闭我的应用程序时,我都希望能够加密这个数据库文件。所以我有了用SJCL加密数据库文件的想法。只有当用户可以插入正确解密的密码时,才能访问我的 Web 应用程序。
所以我的第一个问题是如何在 javascript 中访问 indexedDB 文件,以便加密/解密整个文件?其次,您如何看待这种加密/解密文件的想法?
谢谢
我在我的 angular webapp 中创建了一个带有 pouchDB 的 indexedDB。每次我关闭我的应用程序时,我都希望能够加密这个数据库文件。所以我有了用SJCL加密数据库文件的想法。只有当用户可以插入正确解密的密码时,才能访问我的 Web 应用程序。
所以我的第一个问题是如何在 javascript 中访问 indexedDB 文件,以便加密/解密整个文件?其次,您如何看待这种加密/解密文件的想法?
谢谢
您不能直接访问 IndexedDB 文件。您最好的选择是使用加密库来加密您传递到 PouchDB 的文档。例如:
pouch.put({
_id: 'myid',
sensitiveData: whateverLibrary.encryptString('secret')
});
如果您愿意,您甚至可以将其实现为PouchDB 插件!基本上,您只需要覆盖 get/put/post/allDocs/bulkDocs 方法来加密文档,然后再将它们传递给 PouchDB 本身。