Форум программистов, компьютерный форум, киберфорум
C# для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
0 / 0 / 0
Регистрация: 16.10.2015
Сообщений: 9

Шифрация кусками. Заполнение неверно и не может быть удалено

17.04.2017, 15:09. Показов 1107. Ответов 0
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Шифрация большого файла без создания его копии для экономии места старая тем для
понимания

Добавлено через 6 минут
При дешефрация файла возникает данноеисключение .

Вот код в котором кусочками читаем файл

C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
 public void DecryptFile(string inputFile, string outputFile)
        {
            byte[] block = new byte[32768];
            byte[] crypt_block = new byte[32768]; //32768
 
            // Потоки на чтение и запись одного и того же файла.
            using (FileStream streamWrite = new FileStream(inputFile, FileMode.Open, FileAccess.Write, FileShare.Read),
                streamRead = new FileStream(inputFile, FileMode.Open, FileAccess.Read, FileShare.Write))
            {
                while (true)
                {
                    // Читаем.
                    int readed = streamRead.Read(block, 0, block.Length);
 
                    if (readed == 0)
                    {
                        long testing = streamWrite.Position;
                        streamWrite.SetLength(testing);
                        break;
                    }
                    crypt_block = DecryptBytes(block,readed);
                    // Пишем.
                    streamWrite.Write(crypt_block, 0, crypt_block.Length);
                   /* if (crypt_block.Length < readed)
                    {
                       long testing = streamWrite.Position;
                        streamWrite.SetLength(testing);
                            break;
 
                    }*/
                }
            }
 
        }
вот дешефриуем
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
byte[] DecryptBytes(byte[] encryptdata, int readed)
        {
            byte[] deccrypted = new byte[32768];
            using (Rijndael rijAlg = Rijndael.Create())
            {
                rijAlg.Key = Key;
                rijAlg.IV = IV;
               // rijAlg.Padding= PaddingMode.PKCS7;
 
                // Create a decryptor to perform the stream transform.
                ICryptoTransform decryptor = rijAlg.CreateDecryptor(rijAlg.Key, rijAlg.IV);
 
                // Create the streams used for decryption.
                using (MemoryStream msDecrypt = new MemoryStream())
                {
                    using (CryptoStream csDecrypt = new CryptoStream(msDecrypt, decryptor, CryptoStreamMode.Write))
                    {
                        using (BinaryWriter swEncrypt = new BinaryWriter(csDecrypt))
                        {
 
                            //Write all data to the stream.
                            swEncrypt.Write(encryptdata, 0, readed);
 
 
                        }
                        deccrypted = msDecrypt.ToArray();
 
                        
                       
                    }
                }
            }
 
            return deccrypted;
        }
4077 байт размер не зашифрованного файла
4080 байт размер зашифрованного файла


все работает хорошо шифрует и дешифрует без всяких потерь.

но вот если скажем
размер не зашифрованного файла 4082
размер шифрованного файла 4112
то возникает данное исключение.

Добавлено через 1 час 9 минут
после rijAlg.Padding = PaddingMode.Zeros;
исключение больше не появляется

Добавлено через 7 минут
Но размер дешифрованных данных не совпадает с исходным размером
Например при величине 22 байта исходных
после шифрации 32
после дешифрации 32
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
17.04.2017, 15:09
Ответы с готовыми решениями:

Заполнение неверно и не может быть удалено
Доброго всем дня! Нужна помощь с дешифровкой сообщения по AES. :help: :help: :help: Получаю ошибку &quot;Заполнение неверно и не...

AES шифрование. Заполнение неверно и не может быть удалено
На строке cs.Close(); возникает ошибка: Заполнение неверно и не может быть удалено. Что делать? using System; using...

CryptographicException: "заполнение неверно и не может быть удалено."
Здравствуйте. Подскажите пожалуйста. Делаю ПО с привязкой к железу, шифрование идет как нужно. Вот код: public void...

0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
17.04.2017, 15:09
Помогаю со студенческими работами здесь

Неверно происходит чтение файла. Что может быть не так ?
Доброго времени суток ! Пожалуйста, помогите исправить ошибки. Столкнулся с такой проблемой, данные считываются из файла, но неверно. В...

CAsyncSocket - запрос приходит кусками, как сервер-сокет может определить конец приёма?
Здрасьте всем! Всё ещё делаю маленький веб-сервер под Windows XP на Visual Studio 5. Чтобы сымитировать напряженный трафик я...

"В поле может быть введено только одно слово, пробелы могут быть или не быть с начала слова и в конце"
Добрый вечер уважаемые форумчане. Подскажите как написать выражение со след условием: -в поле может быть введено только одно слово,...

Может ли быть данная функция быть функцией распределения некоторой случайной величины?
Может ли быть функция F(x)= |sinx| быть функцией распределения некоторой случайной величины? Почему?

Заполнение StringGrid из Edit неверно начинается
Есть 6 edit-ов на 2-ой форме, после добавление записи... Заполнение начинается именно с 6-ой строки массива, а не с 1-ой. Помогите...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
1
Ответ Создать тему
Новые блоги и статьи
SDL3 для Web (WebAssembly): Реализация движения на Box2D v3 - трение и коллизии с повёрнутыми стенами
8Observer8 20.02.2026
Содержание блога Box2D позволяет легко создать главного героя, который не проходит сквозь стены и перемещается с заданным трением о препятствия, которые можно располагать под углом, как верхнее. . .
Конвертировать закладки radiotray-ng в m3u-плейлист
damix 19.02.2026
Это можно сделать скриптом для PowerShell. Использование . \СonvertRadiotrayToM3U. ps1 <path_to_bookmarks. json> Рядом с файлом bookmarks. json появится файл bookmarks. m3u с результатом. # Check if. . .
Семь CDC на одном интерфейсе: 5 U[S]ARTов, 1 CAN и 1 SSI
Eddy_Em 18.02.2026
Постепенно допиливаю свою "многоинтерфейсную плату". Выглядит вот так: https:/ / www. cyberforum. ru/ blog_attachment. php?attachmentid=11617&stc=1&d=1771445347 Основана на STM32F303RBT6. На борту пять. . .
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
И ясному Солнцу
zbw 12.02.2026
И ясному Солнцу, и светлой Луне. В мире покоя нет и люди не могут жить в тишине. А жить им немного лет.
«Знание-Сила»
zbw 12.02.2026
«Знание-Сила» «Время-Деньги» «Деньги -Пуля»
SDL3 для Web (WebAssembly): Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 12.02.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами и вызывать обработчики событий столкновения. . . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 11.02.2026
Содержание блога Библиотека SDL3 содержит встроенные инструменты для базовой работы с изображениями - без использования библиотеки SDL3_image. Пошагово создадим проект для загрузки изображения. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru