Windows.Security.Cryptography和Windows Phone 8 SDK是什么?

11
今天我安装了新的Windows Phone 8 SDK (w8phone sdk)...试图从Windows 8应用程序中引用一些基础类,他们说是相同的核心...但糟糕的是?

没有Windows.Security.Cryptography

我在WCF服务中使用了SymmetricKeyAlgorithmProvider对序列化数据进行端到端加密。 (http://msdn.microsoft.com/en-us/library/windows/apps/xaml/br241537.aspx)

似乎使用.NET Framework加密在平台/设备上相当专有。

针对Windows 8 Phone有什么功能类似的建议吗?

谢谢。

编辑/更新

我通过将http://www.bouncycastle.org/移植到单独的Windows 8和Windows Phone 8库以及略微更改版本来自这里的小BC Engine解决了问题:Encrypt/Decrypt using Bouncy Castle in C#

enter image description here

1个回答

10

Windows.Security.Cryptography是WinRT API。Windows Phone 8仍然主要使用来自System.Security.Cryptography的API,其中不包括SymmetricKeyAlgorithmProvider

您仍然可以在Windows Phone上使用AesManaged API,这可能对您的目的足够或者也可能不够。

Windows.Security.Cryptography很可能只是Microsoft cryptolib的x86 COM抽象,这与.NET 3.5-4.0上的大部分System.Security.Cryptography相同。


1
感谢您提供如此丰富的答案。当然,由于WP7的兼容性问题,即使在Win8核心下,也不能轻松地转向WinRT API。但我还希望在服务器端使用相同的Lib和.NET 4.5,而不是为了相同的加密目的而有3种不同的实现。因此,我坚持采用我的方法,为每个平台/设备编译bouncycastle.org,并使用相同的方法和签名。 - oneff
这确实是一个好的解决方案。现在WP8支持非托管代码,因此可以有非托管实现的加密算法,相比完全托管的实现,性能会有很大提升。但可能需要几个月时间,我们才能在Github等平台上看到这样的项目。 - Claus Jørgensen
AesManaged似乎位于System.Security.Cryptography命名空间中。来源:https://msdn.microsoft.com/zh-cn/library/system.security.cryptography.aesmanaged.aspx - Mostafiz Rahman

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