Модераторы: Partizan, gambit
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Побитово зашифровать и сохранить файл, Нужно имея массив бит, сохранить из них  
:(
    Опции темы
256zib
Дата 7.12.2009, 09:49 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 48
Регистрация: 7.12.2009

Репутация: нет
Всего: нет



Всем привет!
Такая проблема: Есть набор битов, нужно создать новый файл, который будет в виде этих битов.
Если подробнее, то нужно побитово зашифровать файл, т.е. есть какой нибудь файл например mic.mp3, нужно последовательно перебирать и шифровать его байты. Перебирать и зашифровать получается, а вот правельно сохранить нет (
PM MAIL   Вверх
Heinzz
Дата 7.12.2009, 17:42 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 381
Регистрация: 12.12.2008
Где: .net

Репутация: 5
Всего: 9



А стандартные методы шифрования не подходят?


--------------------
user posted image
PM MAIL   Вверх
256zib
Дата 7.12.2009, 18:25 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 48
Регистрация: 7.12.2009

Репутация: нет
Всего: нет



Нет,нужен именно мой. Пишу диплом, использую MC#,если слышали. Думал либо перегрузить имеющиеся стандартные методы или свою использовать. В любом случае надо выполнить шифрование побитово.
PM MAIL   Вверх
kobra
Дата 8.12.2009, 20:49 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 730
Регистрация: 15.6.2005
Где: Грузия, Тбилиси

Репутация: 1
Всего: 9



Цитата(256zib @  7.12.2009,  09:49 Найти цитируемый пост)
а вот правельно сохранить нет
а как делаеш, что не получается?
PM MAIL   Вверх
256zib
Дата 9.12.2009, 11:41 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 48
Регистрация: 7.12.2009

Репутация: нет
Всего: нет



#region Зашифровать файл
        public void SochrFile(string FName)
        {
            System.IO.FileStream fs;
            BinaryReader binReader =  new BinaryReader(File.Open(FName,  FileMode.Open));  //сохраняем виты в binRead
               
            if (!System.IO.File.Exists("new"+FName)) //создаем новый файл 
            {
                using (fs = System.IO.File.Create(FName))
                {
        for(int i=0; i<=fs.Length-1; i++)    {
                        fs.WriteByte(binReader.ReadByte());
                    }
                }
            }
 
        }
       #endregion


или  


System.IO.FileStream fs2;
            System.IO.FileStream fs1;
           
                using (fs1 = System.IO.File.OpenRead(FName))
                {
                   fs2=System.IO.File.Create("new"+FName);
                   for (int i = 0; i <= fs1.Length - 1; i++)
                   {
                       fs2.WriteByte((byte)fs1.ReadByte());
                   }
                   }
            }
PM MAIL   Вверх
256zib
Дата 9.12.2009, 12:31 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 48
Регистрация: 7.12.2009

Репутация: нет
Всего: нет



Разобрался

Вот пример, код конечно тестовый, но то, что мне надо, он делает )
Создает файл, изменяя все его байты сдигов влево

   byte[] byData = new byte[8220672];   // масив байтов заранее знаю размер, потом поменяю
           try
            {    // файловый поток, открывает файл (при отсутсвии создает) только для чтения
                FileStream fs = new FileStream("wer.mp3", FileMode.OpenOrCreate, FileAccess.Read);
                if (fs.CanSeek == true) // если можно производить поиск
                {
                    fs.Seek(55, SeekOrigin.Begin);  // делаем отступ на 55 байт с начала файла
                    // чтение данных и запись в масив байтов, со двигом в мас. 0, и длинной в 100 байт
                    fs.Read(byData, 0, 8220672);
                }
                fs.Dispose(); // освобождаем ресурсы
            }

   {
          //      MessageBox.Show(err.Message);  return;
            }

 try
            {
                using (FileStream fs=File.Create("new.mp3"))
                {
                fs.Seek(55, SeekOrigin.Begin);
           
                    for (int i = 0; i <= fs.Length; i++)
                    byData[i] = (byte)(byData[i]>>1);  // Изменяем ,fqns сдвигом 
                    fs.Write(byData, 0, byData.Length); // запись массива байт
                 }
            }
            catch (Exception err)
            {
          //      MessageBox.Show(err.Message); return;
            }
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Прежде чем создать тему, посмотрите сюда:
mr.DUDA
THandle

Используйте теги [code=csharp][/code] для подсветки кода. Используйтe чекбокс "транслит" если у Вас нет русских шрифтов.
Что делать если Вам помогли, но отблагодарить помощника плюсом в репутацию Вы не можете(не хватает сообщений)? Пишите сюда, или отправляйте репорт. Поставим :)
Так же не забывайте отмечать свой вопрос решенным, если он таковым является :)


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, mr.DUDA, THandle.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Общие вопросы по .NET и C# | Следующая тема »


 




[ Время генерации скрипта: 0.1480 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.