php rsa 一次一密,RSA加密每次密文不一样?

string xmlPublicKey = "uOMVRWVhMuGmnN7snAxmWmWb1cQejrExHlKnFcNxiXjx49nFRu7YCOovVCJBVNNa1g9b5BqU21KGBV7eArLmlTxGl1fzZU7KAG+HarctuBoCECVm7ViPVmAdfTSxo9hJco5uRVWECE4zB9JEA2c691E1jr3BLSyK5IfUS0/9a9k=AQAB";

string encodeStr = RSAEncrypt(xmlPublicKey, "password123");

Console.WriteLine(encodeStr);

RSA的加密函数  string

static public string RSAEncrypt(string xmlPublicKey, string m_strEncryptString)

{

byte[] PlainTextBArray;

byte[] CypherTextBArray;

string Result;

RSACryptoServiceProvider rsa = new RSACryptoServiceProvider();

rsa.FromXmlString(xmlPublicKey);

PlainTextBArray = (new UnicodeEncoding()).GetBytes(m_strEncryptString);

CypherTextBArray = rsa.Encrypt(PlainTextBArray, false);

Result = Convert.ToBase64String(CypherTextBArray);

return Result;

}

同一个公钥,为什么每次加密后出来的密文都不一样呢?