【发布时间】:2013-02-07 23:43:21
【问题描述】:
我正在构建一个使用 SQLite 进行数据存储的 Windows 应用商店应用程序。我发现,可以通过用户的本地文件夹轻松访问数据库(实际上所有应用程序都公开了所有数据)。有没有办法至少弱保护数据库不被访问?
【问题讨论】:
标签: database sqlite windows-runtime windows-store
我正在构建一个使用 SQLite 进行数据存储的 Windows 应用商店应用程序。我发现,可以通过用户的本地文件夹轻松访问数据库(实际上所有应用程序都公开了所有数据)。有没有办法至少弱保护数据库不被访问?
【问题讨论】:
标签: database sqlite windows-runtime windows-store
你需要看看 ProtectedData 类
它公开了易于使用的 Protect / Unprotect 方法,可用于在应用程序级别加密/解密。在写入数据库之前加密数据并在使用之前取消加密
【讨论】:
我也在寻找相同的解决方案,并在http://sqlite-crypt.com/download.htm找到了 sqlite-crypt
我不知道这个是否足够好。有一个试用版将密码短语限制为 6 个字符并将其作为纯文本存储在标题中。如果您想要完整的数据保护,它将不适合。但是为了测试,也许值得一试。我还没有机会测试它,因为我仍在项目的服务器端工作。我会在以后测试时更新它。
编辑:好的。我已经测试了试用版,它与 codeplex 上的 SqliteWinRT 包装器的修改版本配合得很好。请注意,试用版的密码短语限制为 5-6 个字符,并且此阶段短语以纯文本形式存储,而且它是 x86 编译的二进制文件,这意味着它不适用于需要 ARM 支持的实际产品。您必须购买二进制文件才能获得生产就绪的二进制文件。
【讨论】: