Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Основная";
Текущий архив: 2003.05.05;
Скачать: [xml.tar.bz2];

Вниз

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

 
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;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.48 MB
Время: 0.01 c
3-12627
User2
2003-04-14 17:15
2003.05.05
TComboBox и БД


6-12855
chum
2003-03-10 16:30
2003.05.05
Использование HttpQueryInfo


1-12746
AlexOld
2003-04-20 10:12
2003.05.05
Как менять размер массива, являющегося полем записи


3-12629
Hedron
2003-04-15 17:17
2003.05.05
Доступ к системным таблицам Access


1-12755
vvvaaa
2003-04-21 14:42
2003.05.05
Изменение размера в Runtime





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