AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Algorithmus für eine Serialnummer

Ein Thema von Popov · begonnen am 2. Sep 2012 · letzter Beitrag vom 4. Sep 2012
Antwort Antwort
Seite 2 von 3     12 3      
Furtbichler
(Gast)

n/a Beiträge
 
#11

AW: Algorithmus für eine Serialnummer

  Alt 3. Sep 2012, 07:24
Das Problem mit den Namen wäre z.B. "Hans Meyer", den es doch öfter gibt und dann identische Serials erzeugt. Ich würde wirklich eine GUID nehmen:
Delphi-Quellcode:
uses Sysutils;

var
   NewGUID: TGUID;
begin
   CreateGUID(NewGUID);
   writeln (GUIDToString(NewGUID));
end;
  Mit Zitat antworten Zitat
Benutzerbild von Uwe Raabe
Uwe Raabe

Registriert seit: 20. Jan 2006
Ort: Lübbecke
11.462 Beiträge
 
Delphi 12 Athens
 
#12

AW: Algorithmus für eine Serialnummer

  Alt 3. Sep 2012, 09:06
Das Problem mit den Namen wäre z.B. "Hans Meyer", den es doch öfter gibt und dann identische Serials erzeugt.
Sehr richtig! Eine Liste mit Seriennummer und Name/Ort ist auch nicht schwer zu pflegen. Eine simple Adressverwaltung mit integriertem Seriennummerngenerator und eine Liste sortiert nach Seriennummer sollte ausreichen.

Alternativ kannst du ja auch nach der Steuer-ID fragen, wenn alle deine Kunden aus Deutschland kommen.
Uwe Raabe
Certified Delphi Master Developer
Embarcadero MVP
Blog: The Art of Delphi Programming
  Mit Zitat antworten Zitat
EWeiss
(Gast)

n/a Beiträge
 
#13

AW: Algorithmus für eine Serialnummer

  Alt 3. Sep 2012, 09:21
Wenn man nur einen Namen zum generieren eines Schlüssels verwendet kann man es sich direkt sparen überhaupt seine Anwenung mit
einer Serialnummer zu verschlüsseln.

Schlüssel aus Name -> Hardware -> Hash generieren in Resource speichern welche auch immer anschließend ne Checksumme generieren.
Schlägt die fehl Anwendung wird beendet.

gruss
  Mit Zitat antworten Zitat
Benutzerbild von sx2008
sx2008

Registriert seit: 16. Feb 2008
Ort: Baden-Württemberg
2.332 Beiträge
 
Delphi 2007 Professional
 
#14

AW: Algorithmus für eine Serialnummer

  Alt 3. Sep 2012, 09:33
Irgendwie werden hier zwei Konzepte durcheinandergewürfelt.
1.) Seriennummer
sollte so erzeugt werden, dass man nicht einfach durch Ausprobieren eine neue Seriennummer erstellen kann.
Wenn man z.B. einen String mit Ziffern und Grossbuchstaben der Länge 10 verwendet ergibt das
36^10 verschiedene Möglichkeiten.
Aus diesem riesigen Raum werden aber deutlich weniger Kombinationen verwendet, die mit einem best. Prüfalgorithmus als gültig erkannt werden.

2.) Fingerprint
Merkmale des Rechners (BIOS-Daten, MAC-Adr der Netzwerkkarten, Serialno der Festplatten,...) werden erfasst, darüber eine Prüfsumme gbildet und abgespeichert.
Stellt das Programm später eine Abweichung fest, hat sich der Rechner geändert.
  Mit Zitat antworten Zitat
Benutzerbild von Neutral General
Neutral General

Registriert seit: 16. Jan 2004
Ort: Bendorf
5.219 Beiträge
 
Delphi 10.2 Tokyo Professional
 
#15

AW: Algorithmus für eine Serialnummer

  Alt 3. Sep 2012, 10:37
Hallo,

Also ich würde es im ersten Moment vllt so machen:

Nummerier die Zeichen die enthalten sein können von 1 bis n.

Du teilst die SN in mehrere Blöcke auf und definierst die Soll-"Quersumme" jedes Blocks.
Bei 2 Blöcken z.B.

Block 1: Quersumme 14
Block 2: Quersumme 10

wenn jeder Block aus 4 Zeichen besteht dann nimmst du dir 4 Zeichen aus deinem nummerierten Zeichensatz und stellst sicher dass die Quersumme = der Soll-Quersumme für diesen Block ist.

In meinem Beispiel benutzen wir mal die Zeichen 0-9 (Nummeriert von 1 bis 10).

Block 1:

5203 (6+3+1+4 = 14)

Block 2:

1041 (2+1+5+2 = 10)

Seriennummer: 5203-1041

Du kannst natürlich noch einige mehr generieren. Umso höher die Soll-Quersummen bzw. die Anzahl der Zeichen pro Block und dem Zeichensatz, desto mehr Möglichkeiten gibt es.
Michael
"Programmers talk about software development on weekends, vacations, and over meals not because they lack imagination,
but because their imagination reveals worlds that others cannot see."
  Mit Zitat antworten Zitat
Progman

Registriert seit: 31. Aug 2007
Ort: 99974 MHL
695 Beiträge
 
Delphi 10.1 Berlin Starter
 
#16

AW: Algorithmus für eine Serialnummer

  Alt 3. Sep 2012, 14:35
Ich möchte hier mal eine von mir verwendete Methode der Key-Erzeugung vorstellen.
Vielleicht ist sie ja für den hier genannten Zweck verwendbar.

Die angehängte zip-Datei enthält auch den gesamten Quellcode, eine readme.txt und Testanwendungen.
Angehängte Dateien
Dateityp: zip KeyMaker.zip (535,1 KB, 74x aufgerufen)
Karl-Heinz
Populanten von Domizilen mit fragiler, transparenter Aussenstruktur sollten sich von der Translation von gegen Deformierung resistenter Materie distanzieren!
(Wer im Glashaus sitzt sollte nicht mit Steinen werfen)
  Mit Zitat antworten Zitat
WM_CLOSE

Registriert seit: 12. Mai 2010
Ort: königsbronn
398 Beiträge
 
RAD-Studio 2009 Pro
 
#17

AW: Algorithmus für eine Serialnummer

  Alt 3. Sep 2012, 15:16
Nehme den Namen
Füge Zufallsbuchstaben hinzu, bis die Länge 20 Zeichen beträgt
Verschlüssele das Ganze mit DES
Codiere es mit Base64
Fertig.

Du kannst dafür das DEC nehmen.

Sofern nicht ein großer Teil der Nutzer Cracker sind brauchst du die Methoden auch nicht verschleiern oder so.
Delphi programming
  Mit Zitat antworten Zitat
Popov
(Gast)

n/a Beiträge
 
#18

AW: Algorithmus für eine Serialnummer

  Alt 3. Sep 2012, 15:57
Ok, vielen Dank an alle, es was sehr informativ, habe sehr viele Ideen und Anregungen. Und auch wenn ich mich jetzt, da die Zeit drängte, für eine einfache Serial aus Zufallszahlen, der Quersumme inc. Modulo Prüfsumme entschied, werde ich die nächste Version es etwas aufwändiger gestalten. Nur jetzt war die Zeit knapp. Und auch schönen Dank an Progman für das Beispiel, sehr informativ.
  Mit Zitat antworten Zitat
shmia

Registriert seit: 2. Mär 2004
5.508 Beiträge
 
Delphi 5 Professional
 
#19

AW: Algorithmus für eine Serialnummer

  Alt 3. Sep 2012, 16:48
Vielleicht ist sie ja für den hier genannten Zweck verwendbar.
Wenn nicht so viele globalen Variablen rumfliegen würden.
Du könntest das ja mal aufräumen - nicht zur Strafe, nur zur Übung
Andreas
  Mit Zitat antworten Zitat
Klaus01

Registriert seit: 30. Nov 2005
Ort: München
5.768 Beiträge
 
Delphi 10.4 Sydney
 
#20

AW: Algorithmus für eine Serialnummer

  Alt 3. Sep 2012, 17:03
Hallo,

in diesem Post hat corpsman seine TSerial Komponente vorgestellt.

Grüße
Klaus
Klaus
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 2 von 3     12 3      


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 19:39 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