在C#Metro/WinRT应用程序中使用强制转换加密
是否有支持Metro/WinRT强制转换加密的.NET API?与iOS上的CommonCrypto调用相当的东西:在C#Metro/WinRT应用程序中使用强制转换加密,c#,windows-runtime,cryptography,microsoft-metro,C#,Windows Runtime,Cryptography,Microsoft Metro,是否有支持Metro/WinRT强制转换加密的.NET API?与iOS上的CommonCrypto调用相当的东西: CCCrypt((mode == KeyEncryptionDecrypt) ? kCCDecrypt : kCCEncrypt, kCCAlgorithmCAST, 0, keyBuff, keySize, initVector, decryptData, decryptSize, buffer,
CCCrypt((mode == KeyEncryptionDecrypt) ? kCCDecrypt : kCCEncrypt, kCCAlgorithmCAST, 0,
keyBuff, keySize,
initVector,
decryptData, decryptSize,
buffer, bufferSize,
dataOutSize);
通过阅读Windows8的文档,我看不到对CAST的支持。我使用OpenSSL(我可以从C++的CyraseMetro应用程序调用C++)进行了研究,但是OpenSSL库从它的随机化函数中生成了一些桌面API调用,因此它不会在Metro下链接。有没有办法使用我的C#Metro应用程序中的强制转换加密功能?试试。检查功能列表
有一个WinRT兼容版本的BouncyCastle,链接由dbeachy1提供。感谢您提供的信息。我发现了与WinRT兼容的BouncyCastle版本。你能看到它与普通C#代码和构建有什么不同吗?它的文档记录得相当糟糕(请阅读,它并没有真正的文档记录)。快速扫描显示了一个相当完整的BC和一些用于非对称密钥生成的帮助器类(您可能希望扫描这些类)。此外,它还包含gzip支持,是从Apache许可代码(而不是MIT)复制的。否则,它只包含必要的文件来帮助构建WinRT库。