我的问题已经解决了一半..请帮助..
我已经使用数字签名的公钥成功地加密了文本,但是在解密它时,我收到了错误。
解码 OAEP 填充时出错。
我的代码如下。
#region Test Encryption
public void a()
{
using (var rsa = new RSACryptoServiceProvider())
{
// This String consists only Public Key Information
String publicKeyOnly = rsa.ToXmlString(false);
// This String consists both Private/Public Key information
String publicPrivate = rsa.ToXmlString(true);
}
}
//encrypt
public byte[] b(String publicKeyOnly)
{
byte[] encryptedData;
using (var rsaPublicOnly = new RSACryptoServiceProvider())
{
rsaPublicOnly.FromXmlString(publicKeyOnly);
encryptedData = rsaPublicOnly.Encrypt(
Encoding.UTF8.GetBytes("This String is to be Secured."), true);
}
return encryptedData;
}
//Decrypt
public String c(byte[] encryptedData)
{
String decryptedPassword;
using (var rsaPublicPrivate = new RSACryptoServiceProvider())
{
RSACryptoServiceProvider.UseMachineKeyStore = true;
// Providing Private key information to RSA Object
rsaPublicPrivate.FromXmlString(_PrivateKeyXML);
// Decrypting the encrypted data by using RSA object "rsaPublicPrivate"
decryptedPassword = rsaPublicPrivate.Decrypt(encryptedData, true).ToString();
}
return decryptedPassword;
}
#endregion