加密整个数据库比只加密数据更安全吗?



我有一个SQLite3数据库,我需要保护。我在使用sqlcipher加密我在电子应用程序中使用的整个数据库或简单地使用加密依赖来加密数据之间感到困惑。

欢迎任何澄清或解释。

有两种不同类型的加密:"静态加密";和"行级加密">

如果有人访问你的SQLite文件怎么办?他们有你所有的数据。"静态加密";通过加密SQLite文件本身来防止这种情况。如果有人偷了你的SQLite文件,这对他们来说将是无用的。Sqlcipher提供静态加密。总的来说,这是个好主意。

如果有人侵入你的应用程序并注入SQL命令怎么办?如果他们把你所有的客户数据都select了怎么办?文件是否加密并不重要,SQL连接将解密它。为了防止这种情况,您可以添加一个"行级加密"层。这是应用程序加密其写入的数据并解密其读取的数据的地方。存储的数据是加密的。这更复杂,对性能的影响也更大。由于插入的数据是加密的,因此搜索和索引更加困难。只对不需要搜索的非常有价值的数据使用它。一般来说,你最好保护你的应用程序不受SQL注入的侵害。

相关内容

  • 没有找到相关文章

最新更新