UWP 安全本地存储

UWP Secure Local Storage

在 UWP 中使用 local storage 时,应用发布后,安装应用的用户是否可以从经典桌面或命令行篡改保存的设置?

在我看来,这很容易做到。有没有一种方法可以在不使用远程服务和加密的情况下在应用程序中安全地存储设置和数据?换句话说,有没有系统API允许这样做?

例如,Store-Managed Consumables 允许安全地管理应用内项目。但是,一般设置似乎没有任何相似之处。如何存储随机生成的产品 ID 或应用内密钥和项目?

Is there a way to securely store settings and data within the app,without using a remote service and cryptography?

根据您的要求,您可以使用漫游数据来存储应用程序设置数据,应用程序的漫游数据可在云端 只要在要求的时间间隔内被用户从某个设备访问即可。

Windows.Storage.ApplicationDataContainer roamingSettings = Windows.Storage.ApplicationData.Current.RoamingSettings;
roamingSettings.Values["exampleSetting"] = "Hello World";
// High Priority setting, for example, last page position in book reader app
roamingSettings.Values["HighPriority"] = "65";

// Composite setting

Windows.Storage.ApplicationDataCompositeValue composite =
    new Windows.Storage.ApplicationDataCompositeValue();
composite["intVal"] = 1;
composite["strVal"] = "string";

roamingSettings.Values["exampleCompositeSetting"] = composite;

更多详情请参阅此document

要保护静态数据,您可以使用 DataProtectionProvider API。它会阻止临时用户查看您的数据,如果他们修改数据,您的应用将无法解密。