繁体   English   中英

C#RSA解密

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM