Форум по Delphi программированию

Delphi Sources



Вернуться   Форум по Delphi программированию > Все о Delphi > Файловая система
Ник
Пароль
Регистрация <<         Правила форума         >> FAQ Пользователи Календарь Поиск Сообщения за сегодня Все разделы прочитаны

Ответ
 
Опции темы Поиск в этой теме Опции просмотра
  #1  
Старый 22.05.2010, 21:36
KGB KGB вне форума
Прохожий
 
Регистрация: 22.05.2010
Сообщения: 3
Репутация: 10
Лампочка Как зашифровать файл XOR-ом?

Как зашифровать файл XOR-ом?

Нужно зашифровать каждый байт файла.
Код:
procedure TForm1.Button1Click(Sender: TObject);
var f:file;
i:byte;
begin
AssignFile(f,OpenDialog1.FileName);
reset(f);
while not eof(f) do
read (f,i);
//тут хорим байт по идее...
writeln(f,i);
Admin: Пользуемся тегами!

кто поможет ?

Последний раз редактировалось Admin, 23.05.2010 в 17:49.
Ответить с цитированием
  #2  
Старый 23.05.2010, 14:39
Аватар для NIch
NIch NIch вне форума
Продвинутый
 
Регистрация: 02.06.2008
Адрес: Бендеры ПМР
Сообщения: 754
Репутация: 2446
По умолчанию

Код:
//XOR алгоритм шифрования
  function C(Text : String):String;
  var
  key, longkey : string;
  i: integer;
  toto : char;
  begin
  longkey := '';
  result := '';
  toto := #0;
  key := 'qaz123wsx456edc789';
  for i := 0 to (length(text) div length(key)) do
  longkey := longkey + key;
  for i := 1 to length(text) do
  begin
  toto := Chr((ord(text[i]) xor ord(longkey[i]))); // XOR алгоритм
  result := result + toto;
  end;
  end
__________________
В начале был Бит, потом Байт и только потом появилось Слово...
Ответить с цитированием
  #3  
Старый 23.05.2010, 23:20
OnzMill OnzMill вне форума
Прохожий
 
Регистрация: 06.10.2009
Сообщения: 48
Репутация: 10
По умолчанию

Скорость хромает (.
делфа, паскаль для данных целей подходит неочень...
да, к слову, про хор - шифрование я сам открывал тему, где, кстати, выкладывал код.
__________________
Говори что думаешь, думай, что говоришь.
(Шоссе 60)
Ответить с цитированием
  #4  
Старый 25.05.2010, 08:32
KGB KGB вне форума
Прохожий
 
Регистрация: 22.05.2010
Сообщения: 3
Репутация: 10
По умолчанию

NIch, это ты привел функцию шифрования строки, если не ошибаюсь ? Но ведь строка не файл.
Ответить с цитированием
  #5  
Старый 25.05.2010, 09:08
Аватар для NIch
NIch NIch вне форума
Продвинутый
 
Регистрация: 02.06.2008
Адрес: Бендеры ПМР
Сообщения: 754
Репутация: 2446
По умолчанию

Смотри глубже...вот алгоритм XOR...
Цитата:
toto := Chr((ord(text[i]) xor ord(longkey[i]))); // XOR алгоритм
Просто бери текущий байт и ксорь его...
Код:
b := b1 xor key
Весь прикол в том, что нужно каждый раз циклично переключатся на следующий байт ключа, что бы не ксорить одним и тем же байтом...
XOR стойкий тогда когда длина ключа приближается к длине сообщения...
__________________
В начале был Бит, потом Байт и только потом появилось Слово...
Ответить с цитированием
  #6  
Старый 25.05.2010, 09:14
Аватар для Konrad
Konrad Konrad вне форума
Эксперт
 
Регистрация: 19.03.2009
Сообщения: 1,261
Репутация: 45834
По умолчанию

Вопрос: зачем это все?

Или снова появится програ, которая шифpyет мега-стойким алгоритмом собственной сборки?


И если длина ключа будет равна длине сообщения, то ключ нужно где-то хранить. И ясно что не в голове.
Ответить с цитированием
  #7  
Старый 25.05.2010, 11:09
Аватар для NIch
NIch NIch вне форума
Продвинутый
 
Регистрация: 02.06.2008
Адрес: Бендеры ПМР
Сообщения: 754
Репутация: 2446
По умолчанию

Цитата:
И если длина ключа будет равна длине сообщения, то ключ нужно где-то хранить. И ясно что не в голове.
Это все понятно, и ясно что XOR не стойкий метод...Но как "защита от дураков" вполне сойдет...А если длинный ключ, то и профи попотеет...
__________________
В начале был Бит, потом Байт и только потом появилось Слово...
Ответить с цитированием
Ответ


Delphi Sources

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск
Опции просмотра
Комбинированный вид Комбинированный вид

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения

BB-коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход


Часовой пояс GMT +3, время: 21:38.


 

Сайт

Форум

FAQ

RSS лента

Прочее

 

Copyright © Форум "Delphi Sources" by BrokenByte Software, 2004-2023

ВКонтакте   Facebook   Twitter