Mathematica 11.3 - Verschlüsselung von eigenem Code
- Überarbeitet am 25.9.2018
- Software: Mathematica 11.3
Das entsprechende APS-Paket ist über unseren ADDITIVE Professional Service erhältlich. Um das Paket zu erhalten, kontaktieren Sie unseren Support per E-Mail an
Erläuterung
Manchmal besteht der Wunsch, die selbst entwickelten Funktionen vor dem Zugriff des Anwenders zu schützen, sei es um zu Verhindern, das der Code versehentlich verändert wird, aber auch um die Diffusion von Ideen zu verhindern. Das vorliegende Beispiel zeigt dazu einen Weg, der mit Mathematica Bordmitteln auskommt.
Die Datei SecuredPack.m ist ein Mathematica Package, das eine mit dem Befehl SetAttributes[] geschützte Beispielfunktion MySecureFunction[] enthält. In der Datei Secured.nb wird das Package verwendet und gezeigt, dass ein Veränderung der geschützte Funktion nicht möglich ist, sie aber ohne Probleme ausgeführt werden kann.
Mithilfe des Befehls Encode[] wird das Package SecuredPack.m in die Datei encodefile verschlüsselt, wobei als Schlüssel hier die MachineID dient. Um die Datei zu verwenden muss sie mit dem Befehl Get[] und dem Schlüssel aufgerufen werden.
Wenn für einen fremden Rechner eine Verschlüsselung durchgeführt werden soll, kann bei Encode[] die entsprechende MachineID dieses Rechners angegeben werden. Der Aufruf mit Get[] und dem Schlüssel "$MachineID" lässt sich dann nur auf diesem Rechner ausführen. Die Befehlszeile mit Get[] können Sie dann in Ihre Notebook-Player Datei einfügen und so Ihre zu schützenden Inhalte verbergen.
|