ich denke, man sollte hier Aufwand gegen realistischem Schutzbedürfnis abwägen.
Klar kann man eine RSA Verschlüsselung implementieren oder sonstige anstregende Dinge. Aber da muss man sich doch die Frage stellen, wie wahrscheinlich es ist, dass jemand vorsätzlich und mit krimineller Energie den Lizenzmechanismus aushebeln will?
Zumal im deutschsprachigen, geschäftlichen Umfeld?
Geschäftsführer von deutschen Unternehmen sind *persönlich* haftbar für Lizenzvergehen, es besteht also ein großes Interesse an Ehrlichkeit diesbezüglich.
Und wie wahrscheinlich ist es, dass
a) ein Admin / Entwickler in einem Unternehmen aus eigenem Antrieb einen Lizenzmechanismus aushebelt - und sich damit einen 1a Kündigungsgrund schafft?
b) ein Geschäftsführer einem Admin / Entwickler den expliziten, schriftlichen Auftrag dazu gibt?
Sorry, ich kann mir vorstellen, dass das in Kleinstunternehmen mal gemacht wird.
Aber wenn ein Unternehmen ab 10 Leuten solche Sachen macht, dann kann ich ehrlich gesagt auch auf die als Kunden verzichtet.
Daher mein Rat: verwende eine einfach zu implementierende und nicht völlig offensichtliche Verschlüsselungsmethode; im Web gibts diverse Anleitungen dazu.
Und warum ein Key mit fester Länge? Variable Länge ist einfacher zu implementieren und tuts genauso.
Eine userspezifische Freigabe haben wir so gemacht, dass wir einen generellen Key haben, in dem die Anzahl Lizenzen codiert ist.
Dann gibt es weitere Konfigurationsdokumente, in denen man diese Anzahl Lizenzen auf konkrete User verteilen kann.
Beiim öffnen der DB wird dann der Key auf Validität geprüft und die Anzahl Lizenzen daraus gelesen. Dann wird in den Konfigdokumenten geguckt, wieviele User dort eignetragen sind und ob der akteulle User dort eingetragen ist.