C # AES: Beim Verschlüsseln einer Datei ist die Länge der zu verschlüsselnden Daten ungültig
Ich habe eine PDF-Datei.
Wenn ich es mit Codes unter dem verschlüsseln möchteLength of the data to encrypt is invalid.
Ein Fehler ist aufgetreten:
string inputFile = @"C:\sample.pdf";
string outputFile = @"C:\sample_enc.pdf";
try
{
using (RijndaelManaged aes = new RijndaelManaged())
{
byte[] key = { 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15 };
byte[] iv = { 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15 };
aes.Key = key;
aes.IV = iv;
aes.Mode = CipherMode.CFB;
aes.Padding = PaddingMode.None;
aes.KeySize = 128;
aes.BlockSize = 128;
using (FileStream fsCrypt = new FileStream(outputFile, FileMode.Create))
{
using (ICryptoTransform encryptor = aes.CreateEncryptor(key,iv))
{
using (CryptoStream cs = new CryptoStream(fsCrypt, encryptor, CryptoStreamMode.Write))
{
using (FileStream fsIn = new FileStream(inputFile, FileMode.Open))
{
int data;
while ((data = fsIn.ReadByte()) != -1)
{
cs.WriteByte((byte)data);
}
}
}
}
}
}
}
catch (Exception ex)
{
// Length of the data to encrypt is invalid.
Console.WriteLine(ex.Message);
}
MitCipherMode.CBC
undPaddingMode.PKCS7
Ich habe keine Fehler.
Aber wegen meines Klienten muss ich die Akte mit verschlüsselnAES / CFB mitKeine Polsterung.
Irgendwelche Ideen, was hier passiert?