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

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

Вернуться   Форум программистов > Delphi программирование > Общие вопросы Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

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

Ответ
 
Опции темы Поиск в этой теме
Старый 15.06.2013, 18:33   #1
Poltish
Пользователь
 
Регистрация: 16.03.2013
Сообщений: 35
Печаль Чтение и запись бинарных файлов.

Всем доброго времени суток. Прошу помощи по следующему вопросу

Проблема в том, что работаю над программой, и понадобилось добавить функционал шифрования файла. HEX-код получать в RichEdit или Memo научился. А вот как его зашифровать? Как я себе это представлял:
Создание STRING - переменной (до 2-х Гб вроде глотает), чтение HEX-кода непосредственно в STRING'овую переменную, далее его обработка каким-либо алгоритмом (к примеру XOR) и сохранение уже в новый файл.
Прошу помочь поправить алгоритм (рыть далее буду уже сам, так как понять тему очень хочется), а так же подсказать или посоветовать литературу (статьи) по работе с BlockRead и BlockWrite, а так же как файл сохранить уже зашифрованный.
Благодарен всем кто не будет равнодушен

Последний раз редактировалось Poltish; 15.06.2013 в 18:42.
Poltish вне форума Ответить с цитированием
Старый 15.06.2013, 19:36   #2
BDA
МегаМодератор
СуперМодератор
 
Аватар для BDA
 
Регистрация: 09.11.2010
Сообщений: 7,291
По умолчанию

Код:
const
  x: byte = 16;
  bufsize = 1024;
var
  f1, f2: File;
  buf: array [1 .. bufsize] of byte;
  i, count: integer;
begin
  assignfile(f1, 'in.txt');
  assignfile(f2, 'out.txt');
  reset(f1, 1);
  rewrite(f2, 1);
  while not eof(f1) do
  begin
    BlockRead(f1, buf, bufsize, count);
    for i := 1 to count do
      buf[i] := buf[i] xor x;
    BlockWrite(f2, buf, count);
  end;
  closefile(f1);
  closefile(f2);
end;
Пишите язык программирования - это форум программистов, а не экстрасенсов. (<= это подпись )
BDA на форуме Ответить с цитированием
Старый 15.06.2013, 20:08   #3
Poltish
Пользователь
 
Регистрация: 16.03.2013
Сообщений: 35
По умолчанию

Цитата:
Сообщение от BDA Посмотреть сообщение
Код:
const
  x: byte = 16;
  bufsize = 1024;
var
  f1, f2: File;
  buf: array [1 .. bufsize] of byte;
  i, count: integer;
begin
  assignfile(f1, 'in.txt');
  assignfile(f2, 'out.txt');
  reset(f1, 1);
  rewrite(f2, 1);
  while not eof(f1) do
  begin
    BlockRead(f1, buf, bufsize, count);
    for i := 1 to count do
      buf[i] := buf[i] xor x;
    BlockWrite(f2, buf, count);
  end;
  closefile(f1);
  closefile(f2);
end;
Благодарю Сейчас сидел, проверял, додумался же записать пустой массив в файл) Убил файл)
Poltish вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Чтение и запись файлов schmitz C# (си шарп) 3 29.05.2013 00:51
Запись и чтение файлов Bugrimov Общие вопросы C/C++ 14 09.11.2012 09:49
Чтение бинарных файлов. Last Общие вопросы C/C++ 4 13.07.2012 07:25
Чтение Бинарных Файлов Maksitron Общие вопросы C/C++ 6 23.02.2009 21:37