Okay, ich hab mir das am Wochenende nochmal durchdacht und dabei festgestellt, dass ich die Problemstellung etwas genauer erklaeren sollte, so wie sie mir jetzt im Kopf rumgeistert.
Das ganze soll am Ende dafuer gut sein, um abzusichern, dass ein Client nur dann laufen kann, wenn er vorher vom Server dazu bis zu einem bestimmten Datum berechtigt worden ist. Damit der Client jetzt nicht bei jedem Start den Server kontaktieren muss, soll er sich lokal jeweils abspeichern wie lange er lauffaehig ist und erst wenn dieser Zeitraum abgelaufen ist, beim Server "um Verlaengerung" bitten. Bekommt er diese, wird das wieder gespeichert, bekommt er sie nicht, kann er nicht starten und versucht beim naechsten Neustart wieder zuerst den Server zu kontaktieren.
Wie soll das ganze jetzt ablaufen:
1. Client startet, hat keine aktuelle Berechtigung und kontaktiert also den Server.
2. Server checkt intern, ob der Client noch ne Berechtigung hat und erstellt dann einen Code, der das verschluesselte Datum beinhaltet.
3. Client liest das Ergebnis vom Server und faehrt entweder fort oder bricht ab.
Die Verschluesselung sollte so sein, dass sie lediglich verglichen, aber nicht decodiert werden kann. Das heisst so in der Art von UNIX-Passwoertern. Das Problem hierbei ist aber, dass ich nicht genau pruefen kann (sonst muesste ich ja jedes Datum in der Zukunft pruefen), sondern eine gewisse Systematik in die verschluesselten codes bringen muss, damit ich die auch mit <= bzw. >= Operatoren vergleichen kann. Darin liegt wohl die gesamte Schwierigkeit des Problems.
Jetzt noch jemand ne Idee? :rock:
macMeck\n\n
<!--EDIT|macMeck|1064798573-->
It all works, as long as it's documented!