2010-08-30 5 views
13

Ich muss einen eindeutigen Code von einem einzelnen PC erzeugen, meine Software wird durch Lizenz verteilt, und lokal muss ich die Umgebung identifizieren und diesen Code an den Server senden. Ich möchte nicht auf dem Server eine sequenzielle Nummer beibehalten und jeder Client erhält eine Nummer der Sequenz, ich habe versucht, die MAC-Adresse von NetworkInterfaces zu lesen, aber ist nicht sicher, der Benutzer kann leicht die MAC-Adresse ändern. Der beste Weg, denke ich, wenn es möglich ist, die Seriennummer des Motherboards zu lesen, aber ich habe den Weg bis jetzt nicht gefunden. Irgendeine Nachsaugung?Eindeutige Computer-ID-Hardware in Java

+1

Beachten Sie auch, dass der Computer viele Netzwerkschnittstellen (und somit viele MAC-Adressen) oder keine haben kann. –

+0

Ja, aber wenn der Computer keine Netzwerkschnittstelle hat, kann ich die Nummer nicht abrufen. – Rigoni

+0

Sind Sie verpflichtet, Ihr eigenes Lizenzierungsschema zu schreiben? Ich denke, es gibt einige gute Open-Source-Lösungen. –

Antwort

9

Wie viel ist Ihre Software wert?

Hat der Zielmarkt Software viel zu viel?

Motherboard Seriennummer Lesen ist möglich, auf Kästen Windows-WMI mit

Verwenden WMI Seriennummer http://www.c-sharpcorner.com/UploadFile/GemingLeader/mb-sn-wmi08242009101325AM/mb-sn-wmi.aspx

Verwenden WMI von Java http://henryranch.net/software/jwmi-query-windows-wmi-from-java/

WMI ist/war ein gebrochenes auf Windows XP lesen Domänenmitglieder in einer AD-Domäne, wenn sie Gruppenrichtlinien verwenden.

(Dies betrifft nur die meisten Nutzer in einem Unternehmen von XP, so keine große Sache)

hoffe, das hilft ein bisschen (MAC-Adresse ist einfacher ... aber ist einfach zu ändern)

+0

Ja, ist eine Strategie-Software wie eine Cassino-Rechner-Strategie. Ist Multiplattform, für Windows wird diese Lösung nützlich sein, aber zu anderen Plattformen nein. Ich werde diese Lösung und andere OS andere Lösungen versuchen. Viele Tanks. – Rigoni

+1

Können Sie ein wenig darüber nachdenken, wie WMI defekt ist? Ich konnte keinen Hinweis auf diesen Fehler finden. – MZB

+0

Es gibt zahlreiche Bereiche, in denen WMI nur flach die erwarteten Informationen nicht meldet. Hinzu kommt, dass jedes Service Pack (und eine unglückliche Anzahl regelmäßiger Updates) Änderungen an den Berichten von WMI vorgenommen hat. Wenn Sie nicht sehr genau kontrollieren können, was auf dem Client installiert ist, kann WMI für die Arbeit unerträglich sein. – NotMe

0

Die MAC-Adresse ist nicht zuverlässig. Sie sollten auf etwas zielen, das nicht geändert werden kann, wie eine CPU ID oder HDD IDE ID. Hier ist wollen ich meine: http://www.soft.tahionic.com/download-hdd_id/index.html

Leider glaube ich nicht, dass DLL mit Java funktioniert, aber zumindest wird es Ihnen einige Informationen darüber zeigen, was zuverlässig ist und was nicht.

+0

Die CPU-ID gibt Ihnen keine eindeutige Seriennummer. Diese ID dient nur dazu, den genauen Typ des verwendeten Prozessors zu identifizieren. – NotMe

+1

Auch die Festplatte ist unzuverlässig, da sie aufgrund der Verwendung von RAID-Controllern möglicherweise nicht verfügbar ist – NotMe