rsa加密算法问题~
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加密算法~、
高手支招~