
12.07.2011, 23:21
|
 |
Эксперт
|
|
Регистрация: 19.03.2009
Сообщения: 1,261
Репутация: 45834
|
|
[off]
жесть тема.
Первый раз вижу)
Где я был 22-23-го оО?
[/off]
PHP код:
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;

Сорри, но это жестььььььь.
Даже если хоть одну минутут подумать:
в учебных целях
PHP код:
procedure TForm1.Button4Click(Sender: TObject);
var
p,c,pass:string;
i,n,k:integer;
pa:array[0..16]of byte; //'сиё есть ересь'
begin
p:=edit1.Text;
n:=length(p);
pass:=edit2.Text;
k:=length(pass);
if (k>0)and(n>0) then
begin
for i:=1 to k do
pa[i-1]:=ord(pass[i]); //'сиё есть ересь'
c:='';
for i:=1 to n do
c:=c+chr((ord(p[i])+pa[i mod k])mod 256); //'сиё есть ересь, в учебных целях сойдет'
memo1.Text:=c;
end;
end;
Шифр Виженера.
Стойкость =0)
https://secure.wikimedia.org/wikiped.../Шифр_Виженера
|