C# 获取错误:“引用;指定的块大小对此算法无效;初始化加密提供程序时
我尝试使用较大的块大小进行AES加密:C# 获取错误:“引用;指定的块大小对此算法无效;初始化加密提供程序时,c#,.net,encryption,aes,C#,.net,Encryption,Aes,我尝试使用较大的块大小进行AES加密: private static void EncryptFile(string inFile, RSACryptoServiceProvider rsaPublicKey) { using (AesCryptoServiceProvider aes = new AesCryptoServiceProvider()) { // Create instance of AesManaged for // symetr
private static void EncryptFile(string inFile, RSACryptoServiceProvider rsaPublicKey)
{
using (AesCryptoServiceProvider aes = new AesCryptoServiceProvider())
{
// Create instance of AesManaged for
// symetric encryption of the data.
aes.KeySize = 256;
// Allocating 64K
aes.BlockSize = 8 * 1024 * 64;
}
}
并点击以下异常:
System.Security.Cryptography.Cryptography异常未处理消息=指定的块大小对此算法无效。
Source=mscorlib StackTrace: at System.Security.Cryptography.Symmetrialgorithm.set_BlockSize(Int32 价值) 在ConsoleApplication4.Program.EncryptFile(字符串填充,RSACryptServiceProvider RSAPPublicKey)中 C:\Projects\ConsoleApplication4\Program.cs:第117行
我肯定遗漏了一些线索,有什么线索吗?每个算法只支持特定的块大小
请参阅。AES似乎只支持等于128的块大小。似乎可以通过将数据处理为多个块来解决这个问题
你查过了吗?谢谢!我自己或者.NET——我们中的任何一个都是哑巴。如果BlockSize是固定的(看起来是固定的),那么为什么它是一个可变属性呢?它是基类的属性,非常通用。有些算法支持多种块大小。