using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Security.Cryptography;
using System.IO;
namespace EncryptionTest
{
class Program
{
static void Main(string[] args)
{
UnicodeEncoding ByteConverter = new UnicodeEncoding();
byte[] dataToEncrypt = ByteConverter.GetBytes("Test data");
string enc = Encrypt(dataToEncrypt);
}
static string Encrypt(byte[] data)
{
UnicodeEncoding ByteConverter = new UnicodeEncoding();
RSACryptoServiceProvider encrypt = new RSACryptoServiceProvider();
byte[] encryptedData = encrypt.Encrypt(data, false); //Repeat this line
return ByteConverter.GetString(encryptedData);
}
}
}
我使用“设置下一条语句”重复执行以下语句,即没有执行任何其他代码行。
byte[] encryptedData = encrypt.Encrypt(data, false);
我查看了 encryptedData 中的字节,发现 encryptedData 中的字节每次都在变化。这肯定是错的吗?如果公钥没有改变并且要加密的数据没有改变,那么“encryptedData”字节也不应该改变吗?