【发布时间】:2020-01-17 00:42:30
【问题描述】:
我有一个来自 CCAvenue 的 Windows 代码,它在通用 Windows 应用程序中运行良好,但如何在 Xamarin.Forms 中实现同样的效果?
public string EncryptRSA(string plainText, string publicKeyString)
{
IBuffer dataBuffer = CryptographicBuffer.ConvertStringToBinary(plainText, BinaryStringEncoding.Utf8);
var asymmAlg = AsymmetricKeyAlgorithmProvider.OpenAlgorithm(AsymmetricAlgorithmNames.RsaPkcs1);
var publicKey = asymmAlg.ImportPublicKey(CryptographicBuffer.DecodeFromBase64String(publicKeyString), CryptographicPublicKeyBlobType.X509SubjectPublicKeyInfo);
var encryptedData = CryptographicEngine.Encrypt(publicKey, dataBuffer, null);
return CryptographicBuffer.EncodeToBase64String(encryptedData);
}
如果我复制粘贴相同的代码,则会出现此错误:
【问题讨论】:
-
那么如果将其粘贴到 Xamarin 表单中会发生什么?
-
我已附上问题中的截图,请检查
-
从 nuget 添加了参考 windows.foundation.universalapicontract.winmd?
-
抱歉,我没有从 Nuget Manager 中找到 Microsoft.Windows.SDK.Contracts 包
标签: c# xamarin.forms uwp xamarin.android