【问题标题】:C# and SQLite-net encrypting the databaseC# 和 SQLite-net 加密数据库
【发布时间】:2014-10-19 19:58:51
【问题描述】:

我在 Windows 8.1 Metro 应用程序中使用 SQLite-net 将 SQLite 数据库添加到 Metro 应用程序。看来我可能需要为应用程序加密数据库。有谁知道在使用 SQLite-net 时加密 SQLite 数据库的方法?我知道有几个库(库可能不是正确的词,但是..),例如 SQLcipher 或 SEE,但不确定是否/如何将它们与 SQLite-net 一起使用。我对 C# 和 Metro 应用程序开发真的很陌生,所以如果有人能指出我正确的方向,我将不胜感激,我已经花了很多时间试图弄清楚这一点。 谢谢,

【问题讨论】:

  • 您能解释一下为什么要加密数据库吗?你确定你不能对某些列进行加密吗?如果有人可以访问数据库(用户是手机的所有者),他可以解密它。如果您需要保密,请创建、保存并将它们存储在安全的服务器上,永远不要让它们离开它。
  • 我们很确定我们的客户会要求加密所有静态数据。此应用程序也将在不会始终连接的 Windows 平板电脑上运行,因此远程安全服务器不是我们的选择。谢谢你的建议。
  • 请注意,您将无法保护数据。一旦秘密在本地机器上被读取和写入,它就不可能是完全安全的。您应该认为数据是模糊的,而不是安全的。

标签: c# sqlite sqlite-net


【解决方案1】:

您可以使用Windows Data Protection
有了这个,您可以使用默认用户凭据加密和解密这些值。 See this

【讨论】:

  • 我在研究过程中确实看到了这一点,但我不确定如何将它与 sqlite-net 集成。我查看了 SQLite.cs 和 SQLiteAsync.cs 类,但不确定将保护/取消保护方法放在哪里。
猜你喜欢
  • 2010-11-18
  • 1970-01-01
  • 1970-01-01
  • 2019-05-28
  • 2014-08-25
  • 1970-01-01
  • 1970-01-01
  • 2019-11-17
相关资源
最近更新 更多