Главная страница
    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
1-33598
AlexPul
2003-09-01 13:30
2003.09.11
Консольные приложения


1-33606
BanderLog
2003-09-01 12:59
2003.09.11
Переключение между приложениями


1-33614
Rel_
2003-09-01 08:45
2003.09.11
Проблема с ф-ей SetLength


14-33800
uw
2003-08-25 12:58
2003.09.11
Английский язык - самый трудный


6-33707
young_shrek
2003-07-09 13:30
2003.09.11
HTTP error message: Interface not supported





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский