T
tuxedo
Gast
Hallo zusammen,
stehe mal wieder vor nem kleinen Problemchen das mich seit geraumer Zeit beschäftigt.
Eine Serveranwendung muss Clientrechner unabhängig von der IP (die kann sich ändern) eindeutig identifizieren können. Hatte bisher dafür die MAC-Adressen (client) im System genutzt, diese in hex-string-form konkateniert, gehashed und als ID zum Server geschickt.
Hat prima funktioniert, bis der erste auf die Idee gekommen ist die WLAN-Karte im Notebook je nach Standort aus und einzuschalten. Aus Sicht von Java ist die MAC-Adresse dann "weg", bzw. "wieder da" wenn man die Karte wieder aktiviert.
Bin dann auf die gloreiche Idee gekommen, einfach den Zeitpunkt der Erstellung eines wichtigen Systempfads (z.b. c:\windows) zu nehmen und den zu hashen. Ist auch recht unwahrscheinlich dass die Zeitstempel auf mehreren Rechnern absolut identisch sind.
Unter Windows hat das funktioniert. Einfach "dir /TC c:\windows" gemacht, Ausgabe geparst und gut ist.
Aber Linux scheint sich nicht für das Erstell-Datum zu interessieren und merkt sich das nicht. Das Datum eines Verzeichnisses ändert sich wenn man darin eine Datei ändert oder anlegt --> doof.
Jetzt gehen mir wieder die Ideen aus.
Fällt noch jemand ein "Verfahren" ein, das kein JNA/JNI braucht (zur not geht das parsen eines betriebssystemeigenen Kommandozeilentools) und auf Windows, Linux und Mac anwendbar ist?!
Gruß
Alex
stehe mal wieder vor nem kleinen Problemchen das mich seit geraumer Zeit beschäftigt.
Eine Serveranwendung muss Clientrechner unabhängig von der IP (die kann sich ändern) eindeutig identifizieren können. Hatte bisher dafür die MAC-Adressen (client) im System genutzt, diese in hex-string-form konkateniert, gehashed und als ID zum Server geschickt.
Hat prima funktioniert, bis der erste auf die Idee gekommen ist die WLAN-Karte im Notebook je nach Standort aus und einzuschalten. Aus Sicht von Java ist die MAC-Adresse dann "weg", bzw. "wieder da" wenn man die Karte wieder aktiviert.
Bin dann auf die gloreiche Idee gekommen, einfach den Zeitpunkt der Erstellung eines wichtigen Systempfads (z.b. c:\windows) zu nehmen und den zu hashen. Ist auch recht unwahrscheinlich dass die Zeitstempel auf mehreren Rechnern absolut identisch sind.
Unter Windows hat das funktioniert. Einfach "dir /TC c:\windows" gemacht, Ausgabe geparst und gut ist.
Aber Linux scheint sich nicht für das Erstell-Datum zu interessieren und merkt sich das nicht. Das Datum eines Verzeichnisses ändert sich wenn man darin eine Datei ändert oder anlegt --> doof.
Jetzt gehen mir wieder die Ideen aus.
Fällt noch jemand ein "Verfahren" ein, das kein JNA/JNI braucht (zur not geht das parsen eines betriebssystemeigenen Kommandozeilentools) und auf Windows, Linux und Mac anwendbar ist?!
Gruß
Alex