![]() |
System für Lizenznummern?
Hai,
kann mir einer von euch (oder auch mehrere *g*) einen Gedankenanstoss geben wie ich für ein Programm am besten Lizenznummern vergebe? In der Lizenznummer müssten "enthalten sein":
Beispiel: Kunde Müller kauft eine Lizenz meines Programmes für 2 Server und 10 Clients. Diese soll gültig sein bis. 31.12.2004 Wenn der Kunde nun seinen Namen und die Lizenznummer eingibt soll das Programm: a) Prüfen ob die Lizenz zur Firma Müller gehört. b) Für welche Anzahl von Servern und Clients sie erworben wurde c) Das Ablaufdatum aus der Lizenz lesen. Kennt jemand ein System auf dessen Grundlage ich das realisieren kann? |
Re: System für Lizenznummern?
Bin hier zwar noch ein Nuub aber ich würde das so machen:
Als erstes brauchst Du eine Datenbank in der Du eine Verschlüsselung speicherst Müller=1 Meier=2 usw... deine ganze Nummer setzt sich dann aus 0001 002 010 231004 0001= Müller 002 = Anzahl Clients 010 = Anzahl Lizenzen 23.10.04 Ablaufdatum Da diese so entstandene Nummer natürlich ziemlich leicht zu hacken wäre würde ich den entstandenen Wert mit einer relativ großen Primzahl multiplizieren und somit verschlüsseln. Man könnte auch die entstehende dualzahl als HEX an den Kunden weitergeben um die Eingabe zu verkleinern(statt 8 bit nur 2) Ich hoffe das hat Dir geholfen... Wenn Du in puncto Verschlüsselungsalgorithmen noch n bissl Hilfe brauchen solltest melde Dich einfach... :warn: :dancer: :coder: :dancer2: |
Re: System für Lizenznummern?
Zitat:
seines Programmes wissen, wer sein Produkt kauft :lol: Aber der Ansatz is doch schon gut ! Ich würde die Serial nicht über den kompletten Namen, sondern beispielsweise nur aus den ersten 5 Buchstaben (kürzere Namen werden mit irgendeinem Zeichen aufgefüllt (0,1 oder leerzeiche - wie du willst)), damit alle Serials auch die gleiche länge haben. Von diesen Buchstaben nimmst du dann den Ascii-Code mischt das mit den Anzahl der Server/Clients und dem Datum und verschlüsselst das ganze. |
Re: System für Lizenznummern?
[quote="MrKnogge"....nicht über den kompletten Namen,....[/quote]
Eventuell gibt es ja die Möglichkeit einen Hashwert einer festen länge zu erzeugen? Zu knacken ist so eine Seriall natürlich immer. Mal sehen ob Hagen etwas dazu weiss. Eine DB kann ich natülich nicht verwenden. Das Programm kann ja schlecht darauf zugreifen. Oder habe ich adreju2ooO da falsch verstanden? |
Re: System für Lizenznummern?
Also ich habe da eine Prinzipielle Idee:
Du verwendest einfach eine Public-Key verschlüsselung ;-) Die Idee ist folgende: Du lieferst Deinen Public Key mit Deinem Programm aus. Die Software beim Kunden erzeugt beim ersten Start ein Schlüsselpaar, bei der Bestellung der Serial schickt Dein Programm den Public Key des Käufers mit. Du Verschlüsselst nun alle Angaben die Dein Programm braucht (kann dann ja sogar ne .ini sein) mit dessen public Key und signierst mit Deinem private Key. Die Software kann nun a) verfizieren, daß das Keyfile von Dir kommt (dank Deinem Public Key). Es erkennt also auch Key-Fälschungen. Die Software kann nun b) den Key auch entschlüsseln - und zwar nur diesen einen Key! Alle anderen Keys haben andere Schlüssel und somit sind die Keys nicht austauschbar ;-) Zudem brauchst Du Dir keine Gedanken zu machen, wie gut oder schlecht der Algorithmus Deiner Lizenznummenr ist, da es recht schwierig sein dürfte ohne Deinen private Key ein gültiges Lizenzfile zu verschlüsseln so das es aussieht asl käme es von Dir. Freilich wird das File etwas grösser und lässt sich nur noch per eMail verschicken, aber es ist relativ sicher. Damit brauchst Du also keine Lizenznummern erzeugen mit irgendeinem system, sondern Dich auf das wesentliche beschränken. Private/Public-Key implementationen gibt es bereits zu hauf, Du brauchst die also nur einzubinden und gut ist. |
Re: System für Lizenznummern?
So hat er das wohl gemeint, wäre aber auch von Datenschutzgründen aus schon fatal.
Klar, zu knacken ist so etwas immer siehe die großen Firmen aller MS & Co, aber da sich an dein Programm, von der popularität her wenige Hacker drann zu schaffen machen, reicht wohl eine kleinere Verschlüsselung. Ein weiterer Tip wäre eventuell, die Datenbanken nach ablauf der Demoversion ebenfalls zu verschlüsseln. |
Re: System für Lizenznummern?
Uff...
ne ne. Es dürfen/können keine Daten versendet werden. Das Programm kann ohne Key installiert werden. Läuft dann halt in einem Demomodus. Wenn der Kunde es kaufen möchte bekommt er seinen Key (xxxx-yyyyyyyy-zzzzz) und Trägt diesen ein. Und in diesem Key sollte halt alles so stehen wie ich oben geschrieben habe. Klar, die Server/Client anzahl und das Ablaufdatum kann ich einfach nach einem frei definierten Muster in den Schlüssel einbauen. Dann müsste ich mir nur gedanken wegen dem Benutzernamen (Lizenznehmer) machen. Ich dachte halt das es zu diesem Thema schon einiges an Theorien gibt. Es ist auch davon auszugehen das sich kaum einer die Mühe macht den Key zu knacken. Dafür ist das Programm zu speziell und ohne "support" würde es keiner einsetzen ;-) |
Re: System für Lizenznummern?
Moin Sharky,
such doch mal bei Sourceforge nach TurboPower. Wenn ich mich recht entsinne, gab's davon auch eine Komponentensammlung für Lizenzen/Seriennummern. Vielleicht geht's damit. |
Re: System für Lizenznummern?
Zitat:
Lizenz macht doch nur Sinn, wenn man anderen Usern was vorenthält... Und so braucht nur einer die Lizens erwerben und alle können dein Prog nutzen...??? |
Re: System für Lizenznummern?
Hai Chris,
danke für den Tipp. Ich werde mal schauen ob es etwas gibt. Auf die schnelle habe ich dort nichts gefunden. Aber das kann auch an meinen Augen liegen ;-) |
Alle Zeitangaben in WEZ +1. Es ist jetzt 21:52 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz