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