Verwaltung

Lizenzgenerator

Lizenzgenerator

Allgemein

Die Lizenz ist als als verschlüsselter ASCII Code in der ARB.dbf gespeichert

Die Verschlüsselung ist im Code hinterlegt

Aufbau Lizenznummer

3 Byte Zahl + 20 + Stelle
3 Byte Auffüllen ( Zufalls ASCI Zeichen zwischen 100 und 255

 

Lizenzgenerator

Code

Funktion oCrypt - Passwort verschlüsseln

function oCrypt(mString : String) : String;
var
sString : String;
wert : Char;
wert1, i, Code : Integer;
begin
// Passwort von Klartext in das Format'FFxxx' umwandeln
      i := 1;
      sString := 'FF';
      while  i <= length(mString)
      do begin
        Wert := mString[i];
        Wert1 := ord(Wert);
        // val(Wert,Wert1,Code);
        wert1 := wert1 + 20 + i;  // Richtiges Zeichen
        if length(Format('%d',[wert1])) = 1
        then sString := sString + '00' + Format('%d',[wert1]);
        if length(Format('%d',[wert1])) = 2
        then sString := sString + '0' + Format('%d',[wert1]);
        if length(Format('%d',[wert1])) = 3
        then sString := sString + Format('%d',[wert1]);
        Wert := mString[i];
        Wert1 := ord(Wert);
        Wert1 := Wert1 + 33 + i;  // 2. Zeichen ohne Wirkung
        if length(Format('%d',[wert1])) = 1
        then sString := sString + '00' + Format('%d',[wert1]);
        if length(Format('%d',[wert1])) = 2
        then sString := sString + '0' + Format('%d',[wert1]);
        if length(Format('%d',[wert1])) = 3
        then sString := sString + Format('%d',[wert1]);
        i := i + 1;
      end;
result := sString;
end;

Funktion oEnCrypt - Passwort verschlüsseln

function oEnCrypt(mString : String) : String;
var
i,ii : Integer;
wert1, Code : Integer;
sString, Wert : String;
begin

// Passwort vom Format'FFxxx' in Klartext zurückgeben
  mString := trim(mString);

if copy(mString,1,2) = 'FF'
then begin
  // Neues Format
  // Die ersten beiden FF nicht
  mString := copy(mString,3,length(mString)-2);
  i := 1;
  ii := 1;
      sString := '';
      while  i <= length(mString)
      do begin
        Wert := copy(mString,i,3);
        val(Wert,Wert1,Code);
        wert1 := wert1 - 20 - ii;    // Entschlüsseln
        ii := ii + 1;
        if (Wert1 = 142)
        then sString := sString + 'Ä'
        else if Wert1 = 154
        then sString := sString + 'Ü'
        else if Wert1 = 153
        then sString := sString + 'Ö'
        else if Wert1 = 225
        then sString := sString + 'ß'
        else sString := sString + chr(wert1);
        i := i + 6;  // 3 Byte zeichen + 3 Byte Verwirrung
      end;
end
else begin
  // Altes Format wird nicht unterstützt
  showmessage('Altes Lizenzformat von Ortho-Pro. Bitte Bruckner Solutions benachrichtigen ');
  sString := '';
end;
Lizenzgenerator

Lizenz erstellen

Lizenzgenerator XLS starten 

image.png

Die XLS Datei hat die Logik implementiert. Es müssen nur der Lizenznahme und eine Lizennummer eingegeben werden. 
Dazu aus der ASCII Tabelle die Werte einfügen 

Lizenz in die ARB.dbf speichern

Dazu die arb.dbf mit dem DBF Viewer öffnen 

image.png

EMAN = LizenzName
RN = Lizenznummer

Vorzeichen FF nicht vergessen