Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2003.09.11;
Скачать: CL | DM;

Вниз

как зашифровать текстовый файл   Найти похожие ветки 

 
sagchat ©   (2003-08-30 10:03) [0]

Это разве трудный вопрос, я его уже задавал но ответа не получил.
Помогите кодом:
как зашифровать текстовый файл, а
при запуске расшифровать и показать в memo, мне нужен самый элементарный способ
Заранее благодарен!


 
Song ©   (2003-08-30 10:13) [1]

Author: Simon Grossenbacher

procedure TForm1.Button1Click(Sender: TObject);
var
s: String[255];
c: array[0..255] of Byte absolute s;
i: Integer;
begin
{encode}

s := "SwissDelphiCenter.ch";
for i := 1 to Ord(s[0]) do c[i] := 23 xor c[i];
Label1.Caption := s;

{Decode}

s := Label1.Caption;
for i := 1 to Length(s) do s[i] := Char(23 xor Ord(c[i]));
Label2.Caption := s;
end;


 
sagchat ©   (2003-08-30 10:28) [2]

Мне нужно зашифровать текст размеро около 200кб


 
Song ©   (2003-08-30 10:29) [3]

И в чём проблема? Ограничение String около 2М.


 
sagchat ©   (2003-08-30 10:34) [4]

извени я в Delphi мало разбираюсь,
Я попробовал код он кодирует пару строк, так как зделать больше
здесь?
s: String[255];


 
Zacho ©   (2003-08-30 10:39) [5]


> sagchat © (30.08.03 10:34) [4]

Вместо s: String[255]; просто s: String;


 
sagchat ©   (2003-08-30 10:43) [6]

я так пробывал, так-же шифрует несколько строк, а расшифровывает вообще не пронятно во что


 
Anatoly Podgoretsky ©   (2003-08-30 10:50) [7]

Song © (30.08.03 10:29) [3]
Умножь


 
Zacho ©   (2003-08-30 10:52) [8]


> sagchat © (30.08.03 10:43) [6]

Вот так для строк любой длины:
procedure TForm1.Button1Click(Sender: TObject);
var
s: String;
i: Integer;
begin
{encode}

s := "SwissDelphiCenter.ch";
for i := 1 to length(s) do s[i] :=Char( 23 xor ord(s[i]));
Label1.Caption := s;

{Decode}

s := Label1.Caption;
for i := 1 to Length(s) do s[i] := Char(23 xor Ord(s[i]));
Label2.Caption := s;
end;


 
Anatoly Podgoretsky ©   (2003-08-30 10:56) [9]

s[i] := tbl[i]


 
Song ©   (2003-08-30 12:42) [10]

2Anatoly Podgoretsky © (30.08.03 10:50)
Что на что?


 
Anatoly Podgoretsky ©   (2003-08-30 12:52) [11]

Без разницы


 
Song ©   (2003-08-30 12:55) [12]

?


 
AndreySoft ©   (2003-08-30 12:59) [13]


> sagchat © (30.08.03 10:43) [6]
> я так пробывал, так-же шифрует несколько строк, а расшифровывает
> вообще не пронятно во что


Всё работает! И шифрует и дешифрирует! см. код Zacho © (30.08.03 10:52) [8]


 
Zacho ©   (2003-08-30 13:06) [14]


> Song © (30.08.03 12:42) [10]

На сколько я понял, 2М*1000
:)


 
AndreySoft ©   (2003-08-30 13:34) [15]


> Zacho © (30.08.03 13:06) [14]


На 1024


 
Zacho ©   (2003-08-30 13:35) [16]


> AndreySoft © (30.08.03 13:34) [15

Ну, некоторые производители винтов, например, умножают все-таки на 1000 :)


 
AndreySoft ©   (2003-08-30 13:37) [17]

А если быть очень точным то: div 1024


 
sagchat ©   (2003-08-30 14:16) [18]

в этом способе шифрования меня устаивает все кроме размеров зашифрованых файлов, они увеличиваются примерно в 4 раза,
Нельзя чтобы хотя бы раза в 2


 
Anatoly Podgoretsky ©   (2003-08-30 15:25) [19]

AndreySoft © (30.08.03 13:37) [17]
Ты вообще жестокий.


 
Anatoly Podgoretsky ©   (2003-08-30 15:26) [20]

sagchat © (30.08.03 14:16) [18]
Это по какому алгоритму у тебя увеличилось в 4 раза?


 
sagchat ©   (2003-08-30 16:20) [21]

По этому:
procedure TForm1.Button1Click(Sender: TObject);
var
s: String;
i: Integer;
begin
{encode}

s := "SwissDelphiCenter.ch";
for i := 1 to length(s) do s[i] :=Char( 23 xor ord(s[i]));
Label1.Caption := s;

{Decode}

s := Label1.Caption;
for i := 1 to Length(s) do s[i] := Char(23 xor Ord(s[i]));
Label2.Caption := s;
end;

текстовый файл весил 85кб стал 260


 
AndreySoft ©   (2003-08-30 16:25) [22]

>>sagchat © (30.08.03 16:20) [21]

Ха! Ха! Ха!
Ты называешь это алгоритмом:

> procedure TForm1.Button1Click(Sender: TObject);
> var
> s: String;
> i: Integer;
> begin
> {encode}
>
> s := "SwissDelphiCenter.ch";
> for i := 1 to length(s) do s[i] :=Char( 23 xor ord(s[i]));
> Label1.Caption := s;
>
> {Decode}
>
> s := Label1.Caption;
> for i := 1 to Length(s) do s[i] := Char(23 xor Ord(s[i]));
> Label2.Caption := s;
> end;


 
Song ©   (2003-08-30 16:53) [23]

Ну понятно, ладна вам просто перепутал букву "Г" с буквой "М". :)
Анатолий, Вы постоянно загадками говорте. А потом думай, что он имел ввиду..



Страницы: 1 вся ветка

Текущий архив: 2003.09.11;
Скачать: CL | DM;

Наверх




Память: 0.51 MB
Время: 0.02 c
3-33501
Jurd
2003-08-20 10:25
2003.09.11
Interbase


9-33421
cyborg
2003-02-11 20:55
2003.09.11
Чебуратор: Кибер мозги


1-33585
Maks
2003-08-28 14:47
2003.09.11
PopupMenu


1-33633
tvic
2003-09-01 16:40
2003.09.11
Глюк с чтением файлов


3-33477
eds
2003-08-20 14:51
2003.09.11
Не создается файл *.gbk