ProtectedData.Protect与DataProtectionProvider:从Windows Phone 8 Silverlight迁移到Windows Phone 8.1通用应用程序的比较

3

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

第一个问题是:如何将数据迁移到新应用程序?正如我所说,Silverlight API与新的WinRT API不兼容,在解密数据时会引发异常。

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

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


你尝试过将 System.Security.dll 添加为引用吗?这样应该可以使用 ProtectedData。 - Jerin
嗨,添加之前的protectedData库(来自Silverlight API)可以完成工作,但是认证失败。 - razor118
2个回答

1

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

一种解决方案是将您的数据从Silverlight推送到类似OneDrive的地方,然后将其导入到Windows Phone通用应用程序中。


0

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

您可以使用该类来保护以下任何一种数据:

  1. 您可以使用 安全描述符(SID)安全描述符定义语言(SDDL) 字符串将数据保护到 Active Directory(AD) 安全主体,例如 AD 组。组中的任何成员都可以解密数据。
  2. 您可以将数据保护到本地用户或计算机帐户。您可以将数据保护到登录网站时使用的凭据(密码)。

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

在开始移植过程时,您有两个选项。

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

将应用迁移到通用 Windows 平台 (UWP)

将 Windows 运行时 8.x 项目移植到 UWP 项目


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接