[英]C# RSA decryption
我已经编写了以下代码来使用RSA算法解密字节数组:
RSA密钥类:
public class RsaKeys
{
#region Properties
/// <summary>
/// The modulus N.
/// </summary>
public byte[] N
{ get; set; }
/// <summary>
/// The public exponent E.
/// </summary>
public byte[] E
{ get; set; }
/// <summary>
/// The private exponent E.
/// </summary>
public byte[] D
{ get; set; }
#endregion
}
解密代码:
public static byte[] RsaDecryptByteToByte(byte[] Byte, RsaKeys Key) // TODO: test me
{
RSACryptoServiceProvider myRsa = new RSACryptoServiceProvider(2048);
RSAParameters rsaParams = new RSAParameters();
rsaParams.D = Key.D;
rsaParams.Exponent = Key.E;
rsaParams.Modulus = Key.N;
myRsa.ImportParameters(rsaParams);
return myRsa.Decrypt(Byte, false); // ERROR!!!
}
但在最后一行(myRsa.Decrypt(Byte,false);)出现错误(“密钥不存在。”):(
RSAParameters对象的所有其他字段呢? 您没有提供私钥的更多字段。
更改您的参数“ Key” =>“ key”(小写)
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.