Ich habe einen einfachen Schutz für ein Script geschrieben. Die Daten werden aus eine INI ausgelesen. Da ich den MD5 Schlüssel aus einem geheimen String zusammensetze, denke ich das der Schutz ausreichen ist. Der geheime String steht im compilierten Script und des Rest steht in der INI. Im Programm wird des String nun rückwärts zusammengesetzt. Meint Ihr das dies ausreichend ist, oder könnte dies noch besser gelöst werden? Die "Nummer" wird von der Hardware eine Maschine von der Webseite geholt, da diese in einer XMl steht, würde das an diese Stelle nicht viel bringen, deshalb hab ich das Script gekürzt. Hoffe das Ihr meinen Ansatz versteht. ![]()
#include <Crypt.au3>
$nummer = InputBox("Geben Sie bitte die Sereinnumer ein", "Nummer:", "1234")
$name = InputBox("Geben Sie bitte einen Namen ein", "Name:", "Kunstlust")
$geheim = "Mein geheimer String"
_Crypt_Startup()
$hash = _Crypt_HashData($name&$nummer&$geheim,$CALG_MD5)
_Crypt_Shutdown()
IniWrite(@WorkingDir&"\test.ini", "Nummer", "Key1", $nummer)
IniWrite(@WorkingDir&"\test.ini", "Name", "Key2", $name)
IniWrite(@WorkingDir&"\test.ini", "Hash", "Key2", $hash)
;~ Einlesen
$geheim = "Mein geheimer String"
$nummer = IniRead(@WorkingDir&"\test.ini", "Nummer", "Key1", "NichtGefunden")
$name = IniRead(@WorkingDir&"\test.ini", "Name", "Key2", "NichtGefunden")
$hash = IniRead(@WorkingDir&"\test.ini", "Hash", "Key2", "NichtGefunden")
_Crypt_Startup()
if _Crypt_HashData($name&$nummer&$geheim,$CALG_MD5) = $hash Then
MsgBox(0,"","Die Freischaltung ist OK, für die Seriennummer: "&$Name)
Else
MsgBox(0,"","Die Seriennummer, ist nicht OK")
EndIf
_Crypt_Shutdown()