Zugriffsmodifikatoren wie internal
und sealed
haben nichts mit Verschleierung oder Codesicherheit zu tun, sie teilen anderen Klassen einfach mit, wie sie mit ihnen interagieren sollen (oder nicht interagieren).
Am Ende des Tages gibt es nichts, was Sie tun können, um Piraterie zu verhindern. Alles, was von einem Menschen erschaffen wurde, kann von einem anderen gebrochen werden. Es gibt viele Fragen zu SO, die sich mit Produktschlüsseln befassen, Software sicher halten usw., die Sie finden können, wenn Sie den Suchmechanismus oben rechts verwenden. Alle Antworten decken ein paar grundlegende Ideen ab, die jeder mit ein wenig Verstand Ihnen sagen wird:
Recherchieren Sie public / private und elliptische Schlüsselkryptografie , und Sie werden Wege finden, Ihren Schlüsselalgorithmus zu sichern, aber das verhindert nur das Knacken der Taste , ohne sie zu umgehen.
Ich stimme Rex M zu, sollten Sie einen asymmetrischen Verschlüsselungsalgorithmus wie Kryptographie mit elliptischen Kurven verwenden, um keygens zu vermeiden. Und wenn Sie an einer kommerziellen Lösung interessiert sind, dann probieren Sie Ellipter - es verwendet elliptische Kurven und hat einige nützliche Funktionen wie Produktinfo und Ablaufdaten, die in generierte Serien eingebettet werden Schlüssel.
Rex ist korrekt, internal sealed class
wird nichts verbergen. Verwenden Sie einen unidirektionalen Verschlüsselungshash (z. B. MD5CryptoServiceProvider ), um Kennwörter zu schützen und Schlüssel.