Показать сообщение отдельно
  #17  
Старый 12.07.2011, 23:21
Аватар для Konrad
Konrad Konrad вне форума
Эксперт
 
Регистрация: 19.03.2009
Сообщения: 1,261
Репутация: 45834
По умолчанию

[off]
жесть тема.
Первый раз вижу)
Где я был 22-23-го оО?
[/off]
PHP код:
procedure TForm1.Button1Click(SenderTObject);
var 
sxxxpass:string;
    
ijhbcd: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(pass1,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(SenderTObject);
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>0then
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.../Шифр_Виженера
Ответить с цитированием