Я пытаюсь зашифровать файл, используя пример MSDN https://msdn.microsoft.com/ru-ru/library/system.security.cryptography.aes(v=vs.110).aspx Когда я шифрую .txt-файл, все в порядке, но когда я пытаюсь зашифровать другие файлы (.bmp, .pdf ...) , то файл не дешифруется. Где ошибка?AES Шифрование в C#
Я изменил код для загрузки файла
internal static void EncryptAes(string pathData, string pathEnCrypt)
{
string plainText;
using (StreamReader sr = new StreamReader(pathData))
plainText = sr.ReadToEnd();
byte[] encrypted;
// Create an Aes object
// with the specified key and IV.
using (Aes aesAlg = Aes.Create())
{
aesAlg.Key = Key;
aesAlg.IV = IV;
// Create a decrytor to perform the stream transform.
ICryptoTransform encryptor = aesAlg.CreateEncryptor(aesAlg.Key, aesAlg.IV);
// Create the streams used for encryption.
using (MemoryStream msEncrypt = new MemoryStream())
{
using (CryptoStream csEncrypt = new CryptoStream(msEncrypt, encryptor, CryptoStreamMode.Write))
{
using (StreamWriter swEncrypt = new StreamWriter(csEncrypt))
{
//Write all data to the stream.
swEncrypt.Write(plainText);
}
encrypted = msEncrypt.ToArray();
}
}
using (FileStream fstream = new FileStream(pathEnCrypt, FileMode.Create))
fstream.Write(encrypted, 0, encrypted.Length);
}
}
«когда я пытаюсь зашифровать другие файлы (.bmp, .pdf ...), затем файл не расшифрован ». Вы имели в виду «тогда файл не был ENcrypted»? Или это действительно дешифрование впоследствии, что не удается? –
зашифрован, так как это странно, размер файла увеличивается наполовину. И тогда он может расшифровать, но открыть его все равно не получится. – d65u
Можете ли вы просто использовать BinaryReader и BinaryWriter вместо (не StreamReader и StreamWriter), поскольку bmp и т. Д. Являются двоичными файлами ... –