在Azure移动服务中使用脱机数据同步时,是否可以加密SQLite数据库?

问题描述:

我有一个使用Azure移动服务保存SQLite数据库的WinRT应用程序。我跟着这里的教程:Using offline data in MobileServices在Azure移动服务中使用脱机数据同步时,是否可以加密SQLite数据库?

我拿到了数据库的工作,但我想知道是否有可能要么加密或密码保护与此行

var store = new MobileServiceSQLiteStore("localstore.db"); 

我创建的数据库文件试图添加额外的安全层以保护敏感信息。密码等不存储在数据库中,但用户输入的其他信息可能需要受到保护并与Azure上托管的服务同步。否则,某人可能会导航到C:\ Users \ [用户名] \ AppData \ Local \ Packages \ [packageId] \ LocalState ,并用任何SQLite数据库浏览器程序打开数据库。在将类保存到数据库之前,我可以加密保存在类中的数据,但如果可能的话,最好加密数据库文件。

+0

为什么你需要加密它?如果您要存储用户的密码,为什么不在他们需要验证时提示他们?加密数据库不会阻止任何事情,因为您需要密钥才能解密数据库,并且如果攻击者有权访问数据库,那么他也可能访问密钥。 – 2015-03-03 01:46:28

+0

该程序主要用于数据输入,我想保护数据库,因为它会保存潜在的敏感数据。如果无法做到这一点,那么在将数据保存到数据库之前,我只需要加密数据。 – Malzarus 2015-03-03 14:33:00

Azure移动服务目前没有API来密码保护或加密设备上的SQLite数据库。您可以贡献或提供反馈给open source project