Anfidya'nın arka bahçesi..

There is dark web in the deep web..

[Delphi] Rastgele Metin Dizisi

2 comments

Merhaba,

Öncelikle herkese iyi bayramlar (:

Aşağıdaki kod örneklerimizle Delphi’de metin dizisi oluşturmayı göreceğiz.

 

function RastgeleMetinDizisi:string;
const
  Chars = 'ABCDEFGHIJKLMNOPQRSTUVWXYZ1234567890';
var
  S: string;
  i, N: integer;
begin
  Randomize;
  S := '';
  for i := 1 to 5 do begin
    N := Random(Length(Chars)) + 1;
    S := S + Chars[N];
  end;
  result := S;
end;

Written by anfidya

Ekim 4th, 2014 at 4:07 am

2 Responses to '[Delphi] Rastgele Metin Dizisi'

Subscribe to comments with RSS or TrackBack to '[Delphi] Rastgele Metin Dizisi'.

  1. Если интересует вот исходники описанной проги://Преобразование ключаDux:=Gx;Duy:=Gy;for i:=tmp+1 to 16 do begin k1:=(3*Dux*Dux + a)/(2*Duy); k:=round(k1); x:=(k*k-2*Dux)mod p; y:=(k*(Dux-x)-Duy) mod p; Dux:=x; Duy:=y; if n[i] = 1 then begin k1:=(Gy-Duy)/(Gx-Dux); k:=round(k1); x:=(k*k-Gx-Dux)mod p; y:=(k*(Gx-Dux)-Gy)mod p; Dux:=x; Duy:=y; end; end;Dux:=abs(Dux);Duy:=abs(Duy);//Дополнительное числоtemps:=Inputbox( Введите любое число от 1 до 32089 , , );m:=strtoint(temps);tempCu:=tempCu+m;If (m32088) then begin label1.Caption := label1.Caption + Введенный ключ не соответствует интервалу’; exit; end;//Преобразование дополнительного числа согласно алгоритмуRx:=Gx;Ry:=Gy;for i:=tmp+1 to 16 do begin k1:=(3*Rx*Rx + a)/(2*Ry); k:=round(k1); x:=(k*k-2*Rx)mod p; y:=(k*(Rx-x)-Ry) mod p; Rx:=x; Ry:=y; if n[i] = 1 then begin k1:=(Gy-Ry)/(Gx-Rx); k:=round(k1); x:=(k*k-Gx-Rx)mod p; y:=(k*(Gx-Rx)-Gy)mod p; Rx:=x; Ry:=y; end; end;Rx:=abs(Rx);Ry:=abs(Ry);//Преобразование координат точки для шифрованияPx:=Dux;Py:=Duy;for i:=tmp+1 to 16 do begin k1:=(3*Px*Px + a)/(2*Py); k:=round(k1); x:=(k*k-2*Px)mod p; y:=(k*(Px-x)-Py) mod p; Px:=x; Py:=y; if n[i] = 1 then begin k1:=(Duy-Py)/(Dux-Px); k:=round(k1); x:=(k*k-Dux-Px)mod p; y:=(k*(Dux-Px)-Duy)mod p; Px:=x; Py:=y; end; end;Px:=abs(Px);Py:=abs(Py);label1.Caption :=label1.Caption +chr(10);//Операция шифрованияlabel1.Caption :=’Сообщение успешно зашифровано.’ + chr(10)+ Теперь данное сообщение можно расшифровать. Нажмите на кнопочку Расшифровать ;for i:=1 to t do begin e[i]:=s[i]*Px; label8.Caption :=label8.Caption + floattostr(e[i])+’ ; end;k:=0;x:=0;y:=0;//Получение выражения для расшифрованияQx:=Rx;Qy:=Ry;for i:=tmp+1 to 16 do begin k1:=(2*Rx*Rx + a)/(2*Ry); k:=round(k1); x:=(k*k-2*Rx)mod p; Qx:=x; y:=(k*(Rx-Qx)-Ry)mod p; Qy:=y; if cb[i] = 1 then begin k1:=(Qy-Ry)/(Qx-Rx); k:=round(k1); x:=(k*k-Rx-Qx)mod p; y:=(k*(Rx-Qx)-Ry)mod p; Qx:=x; Qy:=y; end; end;Qx:=abs(Px);Qy:=abs(Py);//Расшифровка сообщенияlabel1.Caption :=label1.Caption + chr(10);for i:=1 to t do m[i]:=(e[i]/Qx);for i:=1 to t do if m[i] = 32+150 then str[i]:=chr(32);for i:=1 to t do for j:=224 to 255 do if m[i] = j then str[i]:=chr(j);//Вывод сообщения на экран for i:=1 to t do edit2.Text := edit2.Text + str[i];label1.Caption :=label1.Caption + chr(10)+’Сообщение успешно расшифровано.’+chr(10)+’Вы можете продолжить работу с программой или выйти из нее. Для выхода нажмите кнопочку Выход .’;end;Модуль проверки и задания параметров эллиптической кривой.//Задание параметров эллиптической кривой//Задание модуляp:=31991; //Простое число//Задание числа точек на прямойq:=32089;//Задание коэффициентов кривойb:=1000;a:=31988;// Проверка a mod p 0 и b mod p 0if a mod p = 0 then begin label1.Caption := Chr(10) + Неверный параметр a или p .’; exit; edslene Label1.Caption := Chr(10) + Параметр а задан верно.’;if b mod p = 0 then begin label1.Caption := label1.Caption + Chr(10) + Неверный параметр b или p .’; exit; edslene Label1.Caption :=label1.Caption + Chr(10) + Параметр b задан верно.’;//Проверка 4*a^3 + 27*b^2 0if 4*a*a*a + 27*b*b mod p = 0 then begin Label1.Caption := Label1.Caption +Chr(10)+ Дескрименант равен нулю’; exit; end;//Выбор точки кривой G(x,y)Gx:=0;Gy:=5585;Cu:=5103;tempCu:=Cu;Модуль перевода числа в двоичную форму.temp:=32768;for j:=1 to 16 do if m-temp<0 then begin n[j]:=0; temp:=temp/2; end else begin n[j]:=1; m:=m-temp; temp:=temp/2; end;for i:=1 to 16 do if n[i] = 1 then begin tmp:=i; break; end;Модуль преобразования входного текста.m:=edit1.Text; //Получение текста сообщенияt:=length(m); //Вычисление длины текста сообщения в символахfor i:=1 to t do //Нет ASCII кодировки буквы ё if m[i] = ё' then m[i]:='е';for i:=1 to t do //Нахождение пробелов в тексте if m[i] = chr(32) then s[i]:=32+150;for i:=1 to t do //Получение текста сообщения в ASCII кодировке for j:=224 to 255 do if m[i] = Chr(j) then s[i]:=j;label1.Caption :=label1.Caption + Chr(10) + Сообщение успешно записано.' + chr(10) + Теперь это сообщение можно зашифровать. Нажмите на кнопочку Зашифровать ;Button3.Enabled :=true;

    Javi

    20 Haz 15 at 21:25

  2. Hi Javi,
    Thanks for your message but I dont understand anything (: Can you translate to English ^_^

    anfidya

    22 Ağu 15 at 00:56

Leave a Reply

*