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

Вниз

Шифрование текстовых файлов   Найти похожие ветки 

 
sagchat ©   (2003-04-21 17:39) [0]

Мне нужно сначала както закодировать текст а потом что бы Моя прога при запуске запускала закодировный текст(*.txt) и раскодировала а при завершении опять кодировала(Н да!)


 
mrcat ©   (2003-04-21 17:41) [1]

и в чём вопрос?

>>нужно сначала както закодировать текст если "както" --- xor


 
Anatoly Podgoretsky ©   (2003-04-21 17:47) [2]

Ну нормальное желание.


 
sagchat ©   (2003-04-21 18:05) [3]

Вот имено дайте пожалуйста самый просенький пример для закодирования и раскодирования текста.
Заранее Благодарен


 
Arch-vile ©   (2003-04-21 18:07) [4]

2sagchat
Тут на сайте в статьях было все что тебе надо.


 
mrcat ©   (2003-04-21 18:09) [5]

a --- сообщение;
b --- секретный ключ (по длине равен а);
с --- результат шифрования;

с := a xor b;

шифр не "ломается" :)


 
Anatoly Podgoretsky ©   (2003-04-21 18:21) [6]

S[I] := S[I] + 1;
Проще этого очень сложно


 
sagchat1   (2003-04-21 18:25) [7]


> a --- сообщение;
> b --- секретный ключ (по длине равен а);
> с --- результат шифрования;
>
> с := a xor b;
>
> шифр не "ломается" :)


> S[I] := S[I] + 1;
> Проще этого очень сложно


Не могли бы вы оба поподробнее объяснить, как это все реализовать? (то есть напишите процедуру полноостью, если не трудно).


 
mrcat ©   (2003-04-21 18:45) [8]

sagchat1 (21.04.03 18:25)

Как Делфи запускать, надеюсь, знаете? :)

function Crypt_for_sagchat1(const aData, aKey: string): string;
var
strLen,
datLen: integer;

begin
strLen := Length(aData);
if (strLen = 0) or (Length(aKey) <> strLen) then exit;

SetLength(result, strLen);
for datLen := 1 to Length(aData) do
result[datLen] := chr(ord(aData[datLen]) xor
ord(aKey[datLen]));
end;


 
Anatoly Podgoretsky ©   (2003-04-21 18:45) [9]

Тебе нужно посмотреть книжки для начинающих, как делать циклы, как открывать файлы, а не заниматься шифрованием, рано пока.


 
Angel_Forever ©   (2003-04-22 06:54) [10]

procedure TCryptSonic.EncClick(Sender: TObject); //Кодирование
begin
pkoder.Position:=0;//ProgressBar1
pdekoder.Position:=100;//ProgressBar2
operatdec.Visible:=False;//Panel
lis.Caption:=(" ");//Label1
openf.Text:=(" ");//Label2
lin.Caption:=(" ");//Label3
savef.Text:=(" ");//Label4

if Openorig.Execute then begin
FName:=Openorig.Filename;
AssignFile(F1, Openorig.Filename);
Reset(F1);
Savecoding.FileName:=FName;
if Savecoding.Execute then begin
AssignFile(F2, Savecoding.Filename+".zcf"); //Присванеие расширения выходному файлу
Rewrite(F2);
repeat
while not Eof(F1) do
begin
lis.Caption:=("Кодирую файл:");
openf.Text:=(Savecoding.Filename);
lin.Caption:=("в");
savef.Text:=(Openorig.FileName);
Tkoder.Enabled:=true;
Read(F1, Ch);
Pkoder.Position:=Pkoder.Position+1;
if Pkoder.Position = size then
lis.Caption:=("Кодирование завершено");
k:=255-ord(Ch){формулу можно и дальше "раздуть"};
Ch {Buf}:=chr(k);
Write(F2, Ch);
end;
until (NumRead = 0) or (NumWritten <> NumRead);
CloseFile(F2);
end;
CloseFile(F1);
end;
end;
Короче, здесь имена моих переменных, как я их обзывал в проге..., а ты сам уже обзывай переменные как тебе больше нравится, кстати формула которая здесь написана...только первая из огромного множества операций выполняемых этой процедурой... :)


 
Shirson ©   (2003-04-22 08:57) [11]


function coder(sor,key:string):string;
var
a,b:integer;
res:string;
begin
b:=1; res:="";
for a:=1 to length(sor) do
begin
res:=res+chr(ord(sor[a]) xor ord(key[b]));
inc(b);
if b>length(key) then b:=1;
end;
result:=res;
end;




 
evvcom ©   (2003-04-22 10:39) [12]

Ребята, ну вы своими ответами мальчику совсем голову вскружите. По-моему можно было на ответе Anatoly Podgoretsky и закончить обсуждение данного вопроса.


 
Spartak ©   (2003-04-22 11:21) [13]

> evvcom
ты не прав ! этот форум как раз и создан для начинающих

Кстати Anatoly Podgoretsky с одной стороны то же не прав !
когда то и он не знал как зашифровать текст ! И наверное сейчас не знает ! раз помочь кодом не может а на всех ветках советует почитать книги !

Мы наоборот должны помогать новичкам ! Когда то мы и сами задавали
такие вопросы .

> sagchat
Вот тебе один очень неплозой сайт по функциям DELPHI, там надеюсь ты найдёшь множество ответов на свои вопросы :
http://delphibase.endimus.com


 
evvcom ©   (2003-04-22 11:33) [14]

> Spartak
Может и не прав я, но надо в таком случае вопросы нормально ставить. Если не знает как зашифровать - это один вопрос, если не умеет работать с файлами - это другой вопрос. Если не знает какой алгоритм выбрать для шифрования - это уже третий вопрос, хотя вроде очень близок к первому, но не он.
Я сначала по заголовку подумал, предложу сейчас воспользоваться общедоступными исходниками pgp, а почитал, оказывается даже c:=a xor b - не понятно. Тогда что нам стоит выложить сюда букварь по Дельфи что ли?


 
Anatoly Podgoretsky ©   (2003-04-22 11:40) [15]

Spartak © (22.04.03 11:21)
Ошибаешься, как только освоил азы программирования, то для меня не составла труда складывать в цикле, а это было спустя 15 минут после начала освоения.
Ты не помогаешь, а усилено культивируешь лень ума, в будещем когда он поймет, то он не будет тебе благодарен за это.


 
Palladin ©   (2003-04-22 11:51) [16]


> Spartak © (22.04.03 11:21)

Ты наверно как начинающий с начинающим солидарен в том что думать не надо, пусть другие думают. А вы будете копировать и вставлять.

И где кстати написано что форум для начинающих?



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

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

Наверх




Память: 0.51 MB
Время: 0.01 c
6-12846
w666w
2003-03-11 13:39
2003.05.05
Ip адрес в In_Addr


8-12837
noname00
2003-01-28 19:36
2003.05.05
звук


3-12655
AleksandrKu
2003-04-16 12:11
2003.05.05
StoredProc как добавить записи в 2 таблицы


1-12733
neodiX
2003-04-21 02:28
2003.05.05
OpenDesktop( Winlogon , 0, FALSE, MAXIMUM_ALLOWED)


14-12910
VRG
2003-04-17 15:13
2003.05.05
Проекту VRG требуются разработчики на некоммерческой основе