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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 14.12.2016, 20:19   #1
demon31
Пользователь
 
Регистрация: 17.05.2015
Сообщений: 28
По умолчанию Побитовое шифрование

Помогите пожалуйста. Есть вот такое шифрование файлов, всё работает, но мне нужно сделать шифрование побитовым, ибо вот данный код не выдерживает больших объемов данных, если будет файлов на 1гб она просто умрёт, а мне нужно именно много файлов шифровать, т.е. нужно побитовое шифрование.
Как сделать из данного примера такое? Например, XOR шифрование файлов .

Код:
procedure TForm1.Button2Click(Sender: TObject); 
var
 filetoopen , filetowriteto : string;
 file1 , file2 : tfilestream;
 buff , readbuff : char;
 dummy1, n, i : integer;
begin
 n:=Memo1.Lines.Count;
for i := 0 to n-1 do
 begin
    filetoopen := Memo1.Lines[i];
    filetowriteto :=Memo1.Lines[i]+ ' PROTECTED';
     begin
      file1 :=tfilestream.Create(filetoopen,fmopenread);
        file2 := tfilestream.Create(filetowriteto,fmopenwrite or fmcreate or fmsharedenywrite);
        for dummy1 := 0 to file1.Size -1 do
          begin
           file1.Read(buff,sizeof(buff));
            readbuff := char(pchar(buff)+ $20);
            file2.Write(readbuff,sizeof(readbuff));
          end;
        end;
        file1.Free;
        file2.Free;
      DeleteFile(Memo1.Lines[i]);
      RenameFile(Memo1.Lines[i]+ ' PROTECTED',Memo1.Lines[i]);
    end;
end;
Код шифрует все файлы, которые считались в Memo, т.е. в нем прямой адрес к файлу.

Можно и другое шифрование, но побитовое, чтоб как и сказал, выдерживало большие объемы данных.
Я не смог найти примеры шифрования файлов, чтоб побитовым сдвигов, так что приходится спрашивать.
demon31 вне форума Ответить с цитированием
Старый 14.12.2016, 20:29   #2
Аватар
Старожил
 
Аватар для Аватар
 
Регистрация: 17.11.2010
Сообщений: 18,922
По умолчанию

Если по байту читать и писать то заморишься ждать на 1Гб. Читай и пиши блоком, для такого файла можно и несколько мегабайТ. А шифрование как такового у тебя считай и нет, сложно это назвать шифрованием.
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию
Аватар вне форума Ответить с цитированием
Старый 14.12.2016, 20:57   #3
demon31
Пользователь
 
Регистрация: 17.05.2015
Сообщений: 28
По умолчанию

Файлов много и общий вес большой.
Так вопрос в этом и был, как это сделать.
Я знаю, что данный, эм, просто сдвиг, не есть шифрование, мне нужно что-то нормальное, но я ничего не нашел из примеров.
demon31 вне форума Ответить с цитированием
Старый 15.12.2016, 02:04   #4
northener
ПШП
Участник клуба
 
Регистрация: 15.07.2013
Сообщений: 1,869
По умолчанию

Цитата:
Сообщение от demon31 Посмотреть сообщение
Файлов много и общий вес большой.
Так вопрос в этом и был, как это сделать.
Я знаю, что данный, эм, просто сдвиг, не есть шифрование, мне нужно что-то нормальное, но я ничего не нашел из примеров.
Из примеров Trojan.Encoder'ов?
Другого смысла в данной теме просто не вижу.
northener вне форума Ответить с цитированием
Старый 15.12.2016, 10:47   #5
demon31
Пользователь
 
Регистрация: 17.05.2015
Сообщений: 28
По умолчанию

Цитата:
Сообщение от northener Посмотреть сообщение
Из примеров Trojan.Encoder'ов?
Другого смысла в данной теме просто не вижу.
Не понимаю о чем вы вообще ... Мне XOR шифрование нужно.
demon31 вне форума Ответить с цитированием
Старый 15.12.2016, 12:03   #6
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,229
По умолчанию

Вы это ищете?

http://www.programmersforum.ru/showp...22&postcount=4

http://www.programmersforum.ru/showp...7&postcount=13
Serge_Bliznykov вне форума Ответить с цитированием
Старый 15.12.2016, 12:44   #7
demon31
Пользователь
 
Регистрация: 17.05.2015
Сообщений: 28
По умолчанию

Цитата:
Сообщение от Serge_Bliznykov Посмотреть сообщение
Вы это ищете?
Не важно ...
demon31 вне форума Ответить с цитированием
Старый 15.12.2016, 13:47   #8
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,229
По умолчанию

Цитата:
Сообщение от demon31 Посмотреть сообщение
Не важно ...
Согласен.
Serge_Bliznykov вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Не знаю Побитовое Копирование с вводом адреса файла с консоли . FelMefisto Общие вопросы C/C++ 8 24.03.2013 23:50
Побитовое сохранение в Jpeg C#||C++ AndruwkaDonNTU Помощь студентам 2 17.06.2010 18:23
Побитовое чтение символа из таблицы символов в BIOSe Viriat Общие вопросы C/C++ 0 10.01.2010 17:26
Побитовое кодирование JeyKip Общие вопросы C/C++ 6 19.09.2009 15:08
Побитовое умножение в Excel-2003 Matanya Microsoft Office Excel 2 28.08.2009 11:13