Laden...

Id berechnen, die einen Recher eindeutig identifiziert

Erstellt von sharpType vor 13 Jahren Letzter Beitrag vor 13 Jahren 2.958 Views
S
sharpType Themenstarter:in
228 Beiträge seit 2009
vor 13 Jahren
Id berechnen, die einen Recher eindeutig identifiziert

Hallo Profis,

ich suche eine Möglichkeit einen Rechner! irgendwie eindeutig zu identifizieren. Dabei sollte der User diesen "String" nenne ich mal nicht beeinflussen können bzw. so wenig wie möglich Einfluss darauf haben.

Die GUID ist doch meines erachtens uhrzeitabhängig, d.h. diese kann ich nicht für sowas verwenden, da bei der nächsten Generierung eine neue GUID berechnet wird. Oder kann man eine Option festlegen, dass die GUID rechnerspezifisch ist und sich für ein Computer wiederholt berechnen lässt?

Hintergrund: Ich möchte ein Rechner speziell für irgendetwas freischalten und nur dieser Rechner soll berechtigt sein eine Datei zu lesen, sprich dieser soll beim Start dann seinen computerspezifischen String berechnen, den ich vorher freigeschaltet habe. Nur wenn die GUID jedesmal anders ist geht das ja nicht. 🤔

Ich hatte ursprünglich mal die MAC-Adresse herangezogen, aber da ist das mit dem Auslesen recht ungenau, wenn sich mehrere MAC-Adressen im System befinden durch etwaige Zusatzcontroler etc. Das ist also nicht sehr zuverlässig.

Habe auch schon daran gedacht eine Zufallszahl aus Username und Rechnername zu erstellen, aber vielleicht geht das ja auch irgendwie einfacher.

Bin für jeden Tipp dankbar.

R
68 Beiträge seit 2010
vor 13 Jahren

In so einem Fall würde ich die Serialnummer des Rechners aus dem BIOS
verwenden. So kommst Du an die Info:


using System.Management;

class Program
    {
        static void Main(string[] args)
        {
            ManagementObjectSearcher searcher = new ManagementObjectSearcher("SELECT * FROM Win32_BIOS");

            foreach (ManagementObject obj in searcher.Get())
                   Console.WriteLine(obj["SerialNumber"].ToString());
        }

    }

Das Ganze evtl. noch in einen try/catch-block, falls ein Rechner die entsprechende
BIOS-Property nicht liefert.

Robin

S
sharpType Themenstarter:in
228 Beiträge seit 2009
vor 13 Jahren

Hallo,

danke erstmal für den Tipp. Aber das ist ja genau immer das Problem. Solche Sachen funktionieren immer mal da und mal da, aber am liebsten hätte ich eine ID, die immer funktioniert. X(

Gelöschter Account
vor 13 Jahren

mach solche sachen am besten nciht am rechner fest, sondern am benutzer.
mit der guid kannst du dennoch arbeiten, indem du die guid einmal erstellst und in eine config schreibst. dann kannst du sie bei jedem start auslesen und entsprechend verwenden.

wenn es um sicherheitsrelevante aufgaben geht, dann sollte der zielrechner die echtheit der anweisungsquelle festellen und nciht die quelle selbst.

49.485 Beiträge seit 2005
vor 13 Jahren

Hallo sharpType,

warum gibst du dem Rechner die ID nicht einfach mit, statt sie zu berechnen, z.B. in Form einer (Lizenz-)Datei. Siehe Software mit Registrierungsschlüssel schützen.

Ich bin nämlich ein strikter Gegner von Hardware-Verdongleung und daher immer skeptisch, wenn eine Rechner-Id berechnet werden soll. Zumal du ja selbst sagst, dass das alles andere als einfach und zuverlässig ist.

herbivore

R
68 Beiträge seit 2010
vor 13 Jahren

danke erstmal für den Tipp. Aber das ist ja genau immer das
Problem. Solche Sachen funktionieren immer mal da und mal da, aber am liebsten
hätte ich eine ID, die immer funktioniert. X(

Dann musst Du spezifizieren, wie bei Dir "ein Rechner" definiert ist. Ich dachte
Du meinst die konkrete Hardware. Wenn Du mit irgendwelchen Software-IDs
des OS hantierst solltest Du beachten, dass diese sich im Falle einer
Neuinstallation des OS ändern. Spielt das keine Rolle, sind die Vorschläge von
herbivore und JAck30lena sicher die bessere Wahl. Wenn der Zugriff am
User und nicht an der Hardware hängt, ist der Lizenzschlüssel-Vorschlag von
herbivore eine der besten Lösungen, wenn nicht sogar die Beste.

Robin