Autor |
Beitrag |
Apo95
      
Beiträge: 129
Win2000, WinXP, WinServer 2003 Standard x86, Win7x64
Delphi 6 Enterprise, D2009 Architect, RAD Studio XE6 Architect
|
Verfasst: Di 01.04.14 22:42
Halo, ich suche eine Möglichkeit, wie ich aus verschiedenen Daten einen Schlüssel nach folgendem Muster erzeugen lassen kann :
Enthalten sein sollen :
X PC-Name
X Tagesdatum/BIOS-Datum
X IP-Adresse (v4)
X MMX-Unterstützung CPU (true/false)
So könnte ein Schlüssel z.B. aussehen :
Daten (Beispiel): PC-Name: NETZE 104, IP: 192.168.14.45, MMX-Unterstützung CPU: TRUE, Datum (rückwärts: 140321)
14NET-0319T-ZE104-21681-445TR
1. Gruppe : Letzter Teil des Jahres, die ersten drei Buchstaben des PC-Namens
2. Gruppe: Ersten zwei Zahlen des Datums (Monats), die ersten zwei Ziffern der IP (erstes Oktett), T oder F für true oder fslse (MMX-Support der CPU)
3. Gruppe : 5.-9. Zeichen des PC-Namens, falls der Name kürzer ist, dann mit random-Zeichen auffüllen
4. Gruppe : die letzten beiden Zeichen des Datums (bei 140321 hie die 21) die 3. 2. und 3. Ziffern des 2. Oktetts der IP und der 1. Ziffer des 3. Oktetts;
5. Gruppe : die letzten drei Zeichen der IP und die letzten zwei Buchstaben des Wortes TRUE (hier UE, bei false : se);
mir gehen die Ideen aus, wie das umzusetzen wäre.
Gibt es da eine Lösung?
LG;
Friedrich
_________________ Lette-Verein MIA
|
|
jaenicke
      
Beiträge: 19326
Erhaltene Danke: 1749
W11 x64 (Chrome, Edge)
Delphi 12 Pro, C# (VS 2022), JS/HTML, Java (NB), PHP, Lazarus
|
Verfasst: Di 01.04.14 23:13
Es wäre sinnvoller einen Hash zu benutzen, dann kannst du die Daten viel besser zusammensetzen und am Ende hashen...
Die IP Adresse macht absolut keinen Sinn, denn wenn DHCP aktiviert ist, würde der Schlüssel dann ja davon abhängig sein, ob man zufällig wieder die gleiche IP bekommt jeden Tag.
Alle genannten Daten kann man jedenfalls einfach setzen und MMX Unterstützung hat heute ohnehin jede CPU, und das schon seit mehr als 10 Jahren. Was bringt dir das also?
Ansonsten was die Umsetzung angeht:
Da musst du doch, wenn du das so machen willst, einfach nur stur nach deiner Vorschrift die Zeichen aneinanderhängen. Wo liegt denn da genau das Problem? 
|
|
Apo95 
      
Beiträge: 129
Win2000, WinXP, WinServer 2003 Standard x86, Win7x64
Delphi 6 Enterprise, D2009 Architect, RAD Studio XE6 Architect
|
Verfasst: Mi 02.04.14 23:08
Dank erstmal für die schnelle Antwort: Wäre MD5 ein geeigneter Algorithmus? Der kommt soch mit der INDY-Reihe mit, glaub ich. Ich hätte mir das mit der IP gut überlegen sollen; vielleicht anstelle dessen die MAC-Adresse nehmen.
_________________ Lette-Verein MIA
|
|
BenBE
      
Beiträge: 8721
Erhaltene Danke: 191
Win95, Win98SE, Win2K, WinXP
D1S, D3S, D4S, D5E, D6E, D7E, D9PE, D10E, D12P, DXEP, L0.9\FPC2.0
|
Verfasst: Do 03.04.14 00:37
Persönlich würde ich ja zu Double ROT-13 with Authenticated Parity And Data neigen und dies mit CRC-23 kombinieren, aber dann sollte der Registrierungsschlüssel mindestens auf 42 Zeichen aufgeweitet werden mittels PBKDF-2, weil sonst die mit RSA-OAEP erzeugte Signatur zu leicht zu knacken wäre.
Oder aber man verzichtet auf den Selbstbau und schreibt vernünftige Software, für die man so etwas nicht braucht.
2ct
_________________ Anyone who is capable of being elected president should on no account be allowed to do the job.
Ich code EdgeMonkey - In dubio pro Setting.
|
|
Nersgatt
      
Beiträge: 1581
Erhaltene Danke: 279
Delphi 10 Seattle Prof.
|
Verfasst: Do 03.04.14 07:05
Benny, mach doch mal einen konstruktiven Vorschlag, wie so eine vernünftige Software aussähe. 
_________________ Gruß, Jens
Zuerst ignorieren sie dich, dann lachen sie über dich, dann bekämpfen sie dich und dann gewinnst du. (Mahatma Gandhi)
|
|
|