我正在尝试将用于Windows 8的C#编写的代码移植到WinRT。该代码使用System.Security.Cryptography命名空间中的加密API,例如AesManaged,CryptoStream和Rfc2898DerivedBytes。
据我所知,这些似乎在Windows RT上不可用?我找到了API文档(此处:http://msdn.microsoft.com/en-us/library/windows/apps/br211377.aspx),它列出了System.Security.Cryptography命名空间,但它不包含这些类。是否有等价/可能在不同的命名空间下可用?如果API不可用,如果可能的话,如何移植此代码的任何建议?
谢谢, 艾哈迈德
答案 0 :(得分:0)
虽然.NET 4.5加密API的一些用法可以相对简单地转换为WinRT模型,但许多将需要修改。根据您在各种网站上发布的情况,有许多合理的例子可供使用。 CryptoStream
之类的内容可能需要更改为使用IBuffer
s。
例如,可能需要更改RFC2898以使用KeyDerivationAlgorithmProvider
类型的KeyDerivationAlgorithmNames.Pbkdf2Sha256
。
似乎WinRT的第一个版本是关于构建一个全面的“核心”,使用这些功能的更方便的API将在以后出现或由第三方提供。