公钥是从USB Key 中读出 byte[] keyN,keyE;转化成ToBase64String拼成rsa 的公钥XMLstring
<RSAKeyValue>
  <Modulus>{0}</Modulus>
  <Exponent>{1}</Exponent>
</RSAKeyValue>funtion 1
RSACryptoServiceProvider oRSA2 = new RSACryptoServiceProvider();
oRSA2.FromXmlString(strM);
byte[] AInput = oRSA2.Decrypt(data1, false);
string reslut = Encoding.Default.GetString(AInput);执行解密报错的时候 错误:不正确的项。 
把false 改成true 错误:对 OAEP 填充进行解码时出错。funtion 2private byte[] DecryptBytes(byte[] dataBytes, BigInteger KeyNum, BigInteger nNum)
        {
            int len = dataBytes.Length;
            int len1 = 0;
            int blockLen = 0;
            if (len % 128 == 0)
            {
                len1 = len / 128;
            }
            else
            {
                len1 = len / 128 + 1;
            }
            List<byte> tempbytes = new List<byte>();
            for (int i = 0; i < len1; i++)
            {
                if (len >= 128)
                {
                    blockLen = 128;
                }
                else
                {
                    blockLen = len;
                }
                byte[] oText = new byte[blockLen];
                Array.Copy(dataBytes, i * 128, oText, 0, blockLen);
                BigInteger biText = new BigInteger(oText);
                BigInteger biEnText = biText.modPow(KeyNum, nNum);
                byte[] testbyte = biEnText.getBytes();
                string str = Encoding.Default.GetString(testbyte);
                tempbytes.AddRange(testbyte);
                len -= blockLen;
            }
            return tempbytes.ToArray();
            //return System.Text.Encoding.UTF8.GetString(tempbytes.ToArray());
        }用网上找到这种方式解密不对。