我的旧版(WP-8.0-Silverlight)应用程序使用ProtectedData.Protect方法以安全的方式保存数据。我想将现有应用程序升级到Windows Phone Universal应用程序。在WinRT中,ProtectedData.Protect不可用,因为有一个新的API DataProtectionProvider与Silverlight实现不兼容。

第一个问题是:如何将数据迁移到新应用程序?
正如我所说的,Silverlight API与新的WinRT API不兼容,并且在取消保护数据时会导致异常。

我正在考虑使用WP-8.0-Silverlight更新来更新现有应用,该更新将使用ProtectedData(crypt32) API并使用其他算法来迁移新数据并将其保存到存储中。稍后在我的新WinRT应用程序上,将能够解密此数据。

第二个问题是:应该使用哪种算法来提供最佳安全性?

最佳答案

DataProtectionProvider class表示cryptographic提供程序,可用于异步加密和decrypt静态数据或数据流。

您可以使用该类将数据保护到以下任意一项:


您可以使用security descriptor (SID)security descriptor definition language (SDDL)字符串将数据保护到Active Directory (AD)安全主体(例如AD组)。组中的任何成员都可以解密数据。
您可以保护本地用户或计算机帐户的数据。您可以
使用登录期间使用的凭据(密码)保护数据
网站。


Windows Phone通用应用程序与WP-8.0-Silverlight应用程序完全不同,没有内置的迁移功能。

开始移植过程时,有两个选择。

一种是编辑现有项目文件的副本,包括应用程序包清单。另一个选择是在Visual Studio中创建一个新的Windows 10项目,然后将文件复制到其中。

Migrate apps to the Universal Windows Platform (UWP)

Porting a Windows Runtime 8.x project to a UWP project

关于c# - ProtectedData.Protect与DataProtectionProvider的比较Windows Phone 8 Silverlight到Windows Phone 8.1通用应用程序的迁移,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/36462821/

10-09 05:38