Форум программистов, компьютерный форум, киберфорум
Наши страницы
C# для начинающих
Войти
Регистрация
Восстановить пароль
 
D_Sergeevich
26 / 26 / 10
Регистрация: 06.02.2014
Сообщений: 156
#1

Как оптимизировать метод шифрования файла - C#

05.03.2014, 17:17. Просмотров 251. Ответов 0
Метки нет (Все метки)

Приветствую, имеется такой метод который шифрует файл. Он работает отлично если файл мелкий, но если размер файла больше 500 Мб то уходит очень много оперативки на
C#
1
byte[] data = File.ReadAllBytes(filePath)
и
C#
1
File.WriteAllBytes(filePath, msEncrypt.ToArray());
и вообще медленно как то.
Можно как то по другому реализовать?
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 EncryptStringToBytes_Aes(string filePath, byte[] Key, byte[] IV)
        {
            byte[] data = File.ReadAllBytes(filePath);// filePath путь к файлу
            
            // Check arguments.
            if (data == null || data.Length <= 0)
                throw new ArgumentNullException("data");
            if (Key == null || Key.Length <= 0)
                throw new ArgumentNullException("Key");
            if (IV == null || IV.Length <= 0)
                throw new ArgumentNullException("Key");
 
            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))
                    {
                        csEncrypt.Write(data, 0, data.Length);
                        csEncrypt.FlushFinalBlock();
                        csEncrypt.Close();
                        File.WriteAllBytes(filePath, msEncrypt.ToArray());
                        msEncrypt.Close();
                    }
                }
            }
        }
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
05.03.2014, 17:17
Я подобрал для вас темы с готовыми решениями и ответами на вопрос Как оптимизировать метод шифрования файла (C#):

Как оптимизировать процедуру смены расширения файла
Добрый вечер! Запустил в приложении: Analyze-&gt; Launch Performance Wizard -&gt;...

Как оптимизировать этот кусок кода ? (чтение из файла)
Добрый вечер, уважаемые форумчане ! Имеются 50 тыс. файлов, общим размером ~...

Определить по коду метод шифрования
class TextCrypt { private static int CHARMOVE = 11; ...

Оптимизировать метод чтения потока, инкрементирующего счетчик
Имеется переопределенный метод Read, наследуемый от Stream. Вызывается он очень...

Криптография метод шифрования Triple-DES
Может кто-нибудь объяснить на подобном языке с примером шифровки (входные...

Какой метод шифрования использовался в программе
Подскажите пожалуйста,с помощью какого принципа\метода используется кодирование...

0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
05.03.2014, 17:17
Привет! Вот еще темы с решениями:

Подскажите какой-нибудь метод шифрования и дефрования
Всем доброго времени суток!! Народ подскажите какой нибудь метод шифрования...

Код (метод северо-западного угла) оптимизировать с помощью метода потенциалов
код считает по методу северо-западного угла using System; using...

Программа шифрования файла
написать программу шифрования файлу Добавлено через 24 секунды можете плиз...

Чтение byte из файла (Программа шифрования и дешифрования AES-128)
Добрый день, реализую программу шифрования и дешифрования AES-128 Весь код...


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

Или воспользуйтесь поиском по форуму:
1
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru