RSAParameters字段大小?

时间:2015-11-16 11:40:34

标签: c#

我通过RSACryptoServiceProvider创建非对称密钥对。我在byte[]中获得密钥对,因此可以保存。我避免使用XML选项,以避免可能的跨平台编码问题。

        public byte[] CreateKeyPair()
    {
        RSACryptoServiceProvider rsa = new RSACryptoServiceProvider();

        //read the key pair in byte[]
        RSAParameters rsaKeyPair = rsa.ExportParameters(true);
        List<byte> keyPairList = new List<byte>();
        foreach (byte b in rsaKeyPair.D) { keyPairList.Add(b); }
        foreach (byte b in rsaKeyPair.DP) { keyPairList.Add(b); }
        foreach (byte b in rsaKeyPair.DQ) { keyPairList.Add(b); }
        foreach (byte b in rsaKeyPair.Exponent) { keyPairList.Add(b); }
        foreach (byte b in rsaKeyPair.InverseQ) { keyPairList.Add(b); }
        foreach (byte b in rsaKeyPair.Modulus) { keyPairList.Add(b); }
        foreach (byte b in rsaKeyPair.P) { keyPairList.Add(b); }
        foreach (byte b in rsaKeyPair.Q) { keyPairList.Add(b); }

        return keyPairList.ToArray();
    }

现在我想将byte[]转换回RSACryptoServiceProvider

我的问题是,每次都是固定大小的所有字段,如果是这样,每个字段的大小是多少,还是应该以某种方式划分它们?

如果我序列化RSAParameters怎么样,有人能够在C ++中轻松地反序列化/读取结构吗?我想不是,但无论如何都值得问......

0 个答案:

没有答案