Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Object-Pascal / Delphi-Language (https://www.delphipraxis.net/32-object-pascal-delphi-language/)
-   -   Delphi registrierungsschlüssel generieren (https://www.delphipraxis.net/19824-registrierungsschluessel-generieren.html)

gekmihesg 9. Apr 2004 15:33


registrierungsschlüssel generieren
 
ich hab ne funktion geschrieben die mir nen registrieungsschlüssel für z.b. shareware-programme errechnet.
ich bin auf dem gebiet n ziehmlicher anfänger und hät gern gewusst ob ich da irgendwo nen überflüssigen scheiß drin hab und ob des sicher is und so.

Delphi-Quellcode:
function gen_reg_key(text, passwort: string; rlen: integer = 200;
    minlen: integer = 6; maxlen: integer = 50): string;
const
  zeichen = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789';
var
  i,a,x,y: integer;

procedure gen_str;
var
  i:integer;
  c: char;
begin
  for i:=1 to length(text) do
    begin
      c:=chr( ord(text[i]) xor ord(passwort[y]) );
      if c <> '' then
        text[i]:=c;
      inc(y);
      if y > length(passwort) then
        y:=1;
    end;
end;

begin
  result:='';
  if (length(text) < minlen) or (length(text) > maxlen) then
    exit;
  if rlen < maxlen then
    rlen:=maxlen;

  y:=1;
  setlength(result,rlen);
  i:=length(text);
  for x:=length(result) downto 1 do
    begin
      gen_str;

      if i+1 > length(text) then
        a:=(ord(text[i]) + ord(text[1])) div 2
      else
        a:=(ord(text[i]) + ord(text[i+1])) div 2;

      if a > length(zeichen) then
        a:=a mod length(zeichen) + 1;

      text[i]:=zeichen[a];
      result[x]:=zeichen[a];
      dec(i);
      if i = 0 then
          i:=length(text);
    end;
end;

Alter Mann 9. Apr 2004 16:22

Re: registrierungsschlüssel generieren
 
Hallo gekmihesg,

liest sich ganz gut, taugt nur nicht viel. So'n Key hält max. 30 min.
Besorg Dir die ApiLibrary von Jedi und versuch was unter Verwendung der
Crypt-API, ist sicherer und hält länger.

Kopf hoch :wink:


Alle Zeitangaben in WEZ +1. Es ist jetzt 22:13 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz