【发布时间】:2014-12-11 03:52:58
【问题描述】:
我有点难以理解RSACryptoServiceProvider 类...我应该使用长度为256 位的消息 加密一个密钥,它也是256 位长。 的输出不应该也是 256 位长吗?
这是我的代码:
//key generation
byte[] bytes = new byte[32];
var rng = new RNGCryptoServiceProvider();
rng.GetBytes(bytes);
k2 = bytes;
//encryption function
static public byte[] Encryption(byte[] Data, RSAParameters RSAKey, bool DoOAEPPadding)
{
byte[] encryptedData;
using (RSACryptoServiceProvider RSA = new RSACryptoServiceProvider())
{
RSA.ImportParameters(RSAKey);
encryptedData = RSA.Encrypt(Data, DoOAEPPadding);
}
return encryptedData;
}
然后最后计算
ciphertext = Encryption(k2, RSA.ExportParameters(false), false);
产生一个byte[128] 密文又名1024 位。我不应该得到大小为byte[32]的密文吗?
【问题讨论】:
-
也许你应该在你的函数之后命名你的变量...
标签: c# encryption rsa