Показать сообщение отдельно
  #16  
Старый 12.07.2011, 22:08
t116 t116 вне форума
Новичок
 
Регистрация: 29.06.2011
Адрес: Луганск
Сообщения: 92
Версия Delphi: Delphi7
Репутация: выкл
По умолчанию

Это код линейной шифрации-дешифрации
Код:
procedure TForm1.Button1Click(Sender: TObject);
var s, xxx, pass:string;
    i, j, h, b, c, d:integer;
begin
s:=memo1.Text;
 i:=length(s);// i вернули значение s присвоили кол=во символов в тексте
pass:=edit1.Text;
 j:=length(edit1.Text);//вернули значениеj присвоили кол-во символов в пароле
h:=round(i/j)+1;//кол-во символов текста / на кол-во символов пароля,сколько раз повторится пароль
for b:=1 to h do
pass:=pass+pass; //пароль повторяет себя столько раз сколько символов в тексте
         //цикл for закончился
pass:=copy(pass, 1,i);//с 1 символа и на всю длину текста
//edit1.Text:=pass;проверка пароля
for b:=1 to i do
begin
if (ord (s[b])+ord(pass[b]))>255 then
memo2.Text:=memo2.Text+chr(ord (s[b])+ord(pass[b])-255)
else
memo2.Text:=memo2.Text+chr(ord (s[b])+ord(pass[b]));
end;
END;
procedure TForm1.Button3Click(Sender: TObject);
begin
//преобразование текста в * а потом назад в текст
if edit1.PasswordChar=#0 then
edit1.PasswordChar:='*' else
edit1.PasswordChar:=#0;

end;
///////////////////////////////////////////////////////////////////////////////////////////////////

procedure TForm1.Button2Click(Sender: TObject);
var s, xxx, pass:string;
    i, j, h, b, c, d:integer;
begin
s:=memo3.Text;
 i:=length(s);
pass:=edit2.Text;
 j:=length(edit2.Text);
h:=round(i/j)+1;
for b:=1 to h do
pass:=pass+pass;

pass:=copy(pass, 1,i);

for b:=1 to i do
begin
if (ord (s[b])-ord(pass[b]))<1 then
memo4.Text:=memo4.Text+chr(ord (s[b])-ord(pass[b])+255)
else
memo4.Text:=memo4.Text+chr(ord (s[b])-ord(pass[b]));
end;
end;
procedure TForm1.Button4Click(Sender: TObject);
begin
 if edit2.PasswordChar=#0 then
edit2.PasswordChar:='*' else
edit2.PasswordChar:=#0;
end;

end.
Админ: Пользуемся тегами для оформления кода!
Ответить с цитированием