我有一个RSA密钥,我从服务提供商处获得。我只想使用PCLCrypto库使用该RSA密钥加密字符串数据。我不想使用PCLCrypto创建RSA密钥。我只想加密数据。 (我正在开发xamarin中的PCL组件。)
答案 0 :(得分:1)
关注documentation for AES encryption并修改RSA。使用AsymmetricAlgorithm.RsaPkcs1
作为算法提供程序。
以下示例适用于AES。
byte[] keyMaterial;
byte[] data;
var provider = WinRTCrypto.SymmetricKeyAlgorithmProvider.OpenAlgorithm(SymmetricAlgorithm.AesCbcPkcs7);
var key = provider.CreateSymmetricKey(keyMaterial);
// The IV may be null, but supplying a random IV increases security.
// The IV is not a secret like the key is.
// You can transmit the IV (w/o encryption) alongside the ciphertext.
var iv = WinRTCrypto.CryptographicBuffer.GenerateRandom(provider.BlockLength);
byte[] cipherText = WinRTCrypto.CryptographicEngine.Encrypt(key, data, iv);
// When decrypting, use the same IV that was passed to encrypt.
byte[] plainText = WinRTCrypto.CryptographicEngine.Decrypt(key, cipherText, iv);