Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > .NET Frameworks (точка нет фреймворки) > C# (си шарп)
Регистрация

Восстановить пароль

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 04.05.2013, 00:13   #1
Strangers
Пользователь
 
Регистрация: 04.10.2011
Сообщений: 64
По умолчанию Ошибка дешифрования файла

Столкнулся с такой вот проблемой. Когда дешифрую зашифрованный файл генерируется исключение "Заполнение не верно и не может быть удаленно", причем такое исключение бывает только если я шифрования и дешифрования в отдельные методы засовываю.
Вот методы шифрования и дешифрования:
Код:
public void EncryptAES_File(string path,out byte[] Key,out byte[] IV)
        {
            using (AesManaged AES = new AesManaged())
            {
                ICryptoTransform tr = AES.CreateEncryptor();
                Key = AES.Key;
                IV = AES.IV;
                using (FileStream instream = new FileStream(path, FileMode.Open, FileAccess.Read, FileShare.Read))
                {
                    using (FileStream outstream = new FileStream(path+".crypto", FileMode.Create, FileAccess.Write, FileShare.None))
                    {
                        int buflen = ((2 << 16) / AES.BlockSize) * AES.BlockSize;
                        byte[] inbuf = new byte[buflen];
                        byte[] outbuf = new byte[buflen];
                        int len;
                        while ((len = instream.Read(inbuf, 0, buflen)) == buflen)
                        {
                            int enclen = tr.TransformBlock(inbuf, 0, buflen, outbuf, 0);
                            outstream.Write(outbuf, 0, enclen);
                        }
                        outbuf = tr.TransformFinalBlock(inbuf, 0, len);
                        outstream.Write(outbuf, 0, outbuf.Length);
                    }
                }
            }
        }
Код:
public void DecryptAES_File(string path, byte[] Key, byte[] IV)
        {
            using (AesManaged AES = new AesManaged())
            {
                ICryptoTransform tr = AES.CreateDecryptor();
                AES.Key = Key;
                AES.IV = IV;
                AES.Padding = PaddingMode.None;
                using (FileStream instream = new FileStream(path, FileMode.Open, FileAccess.Read, FileShare.Read))
                {
                    using (FileStream outstream = new FileStream(path.Remove(path.LastIndexOf(".crypto")), FileMode.Create, FileAccess.Write, FileShare.None))
                    {
                        int buflen = ((2 << 16) / AES.BlockSize) * AES.BlockSize;
                        byte[] inbuf = new byte[buflen];
                        byte[] outbuf = new byte[buflen];
                        int len;
                        while ((len = instream.Read(inbuf, 0, buflen)) == buflen)
                        {
                            int declen = tr.TransformBlock(inbuf, 0, buflen, outbuf, 0);
                            outstream.Write(outbuf, 0, declen);
                        }
                        outbuf = tr.TransformFinalBlock(inbuf, 0, len);
                        outstream.Write(outbuf, 0, outbuf.Length); 
                    }
                }
            }
        }
Ошибку выдает при дешифровке в строке outbuf = tr.TransformFinalBlock(inbuf, 0, len). Буду очень благодарен за помощь.
Strangers вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Программа шифрования/дешифрования. mishanqa Фриланс 0 23.05.2011 17:12
Программа шифрования/дешифрования.С++ mishanqa Помощь студентам 2 06.05.2011 19:58
Нужно написать алгоритм в СИ шефрования и дешифрования AES 128 velamut Помощь студентам 0 18.06.2010 01:08
Алгоритм шифрования/дешифрования Horus92 Помощь студентам 2 05.12.2009 21:40
Помогите написать прогу шифрования/дешифрования DiSpalL Помощь студентам 8 31.05.2009 09:25