Главная страница
    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.48 MB
Время: 0.009 c
3-33467
KIR
2003-08-20 15:02
2003.09.11
Транзакции в парадоксе...


1-33578
yuliya
2003-08-28 13:59
2003.09.11
проблема


14-33785
Ax
2003-08-22 01:36
2003.09.11
Почему пустая форма имеет большой объём?


4-33852
Th
2003-07-08 11:00
2003.09.11
Искусственный вызов Window Menu приложения


1-33658
Ryabinin Grisha
2003-08-30 05:07
2003.09.11
Линейный график





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский