private RSACryptoServiceProvider rsa;
        public string Encrypt(string cardInfo)//cardInfo是我传进去的string
        {
            try
            {
                rsa = new RSACryptoServiceProvider(2048);
                //rsa.FromXmlString(PublicKey);
                MemoryStream ms = new MemoryStream();
                MemoryStream ms1 = new MemoryStream();
                byte[] dataToEncrypt = Encoding.Unicode.GetBytes(cardInfo);
                ms.Write(dataToEncrypt, 0, dataToEncrypt.Length);                byte[] bin = new byte[100];
                long rdlen = 0;
                long totlen = ms.Length;
                int len;                while (rdlen < totlen)
                {
                    len = ms.Read(bin, 0, 100);//可是我的len返回的数据都是0
                    byte[] bout = rsa.Encrypt(bin, false);
                    ms1.Write(bout, 0, bout.Length);
                    rdlen = rdlen + len;
                }
                byte[] rsaBuffer = new byte[ms1.Length];
                ms1.Read(rsaBuffer, 0, rsaBuffer.Length);
                ms.Close();
                ms1.Close();
                string rsastr = Convert.ToBase64String(rsaBuffer);
                return rsastr;
 
            }
            catch (Exception ex)
            {
                throw new Exception( ex.Message);
            }        }
各位高手帮忙改改这个RSA加密算法~、
高手支招~