0

我想知道我们如何保护 pouch db 中的数据?是否有任何机制,如静态数据加密或传输层 SSL 保护?

4

1 回答 1

1

假设“传输”是指本地和远程数据库同步,那么明确的选择是使用 HTTPS [1]而不是 HTTP。

很少有理由不使用 HTTPS。

假设“静态数据”意味着加密本地数据库,简单的解决方案是 PouchDB 插件 Crypto Pouch [2]

请注意 Crypto Pouch 的详细信息

如果您复制到另一个数据库,它将在将其发送到外部数据库之前进行解密。因此,如果您也希望对其进行加密,请确保也设置了密码。

因此,再次使用 HTTPS 进行传输。我有提到 HTTPS 吗?

加密数据库可能会引入性能瓶颈,因为它必须解密读取的每个文档并加密写入的每个文档。我不建议对整个数据库进行加密,除非它非常小和/或不经常查询,但这是由每个人决定的实现细节。

如果只需要加密特定文档,例如不复制的_local 文档[3] ,请结合使用出色的 Transform Pouch [4]插件并利用 Window.Crypto API [5]或 Native Crypto [ 6]包。

谨防!本地加密可能会阻止懒惰的闯入者,但积极主动的参与者可能会在您的方法中发现差距,所以要小心。

与所有 NPM 包一样,请务必在深度依赖之前阅读未解决的问题。例如,Crpyto Pouch 构建正在通过,但其维护者没有响应。

无论如何,请使用 HTTPS。我有提到 HTTPS 吗? 使用 HTTPS


[1] HTTPS
[2] Crypto Pouch
[3] PouchDB _local 文档
[4] Transform Pouch
[5] Window.Crypto API
[6] Native Crypto

于 2020-01-04T12:17:39.117 回答