Esiste un qualche numero nel computer che lo identifichi univocamente? Se sì, esiste qualche metodo in Java che mi consenta di leggere questo numero? Mi servirebbe per identificare univocamente un pc![]()
Esiste un qualche numero nel computer che lo identifichi univocamente? Se sì, esiste qualche metodo in Java che mi consenta di leggere questo numero? Mi servirebbe per identificare univocamente un pc![]()
l'univocità in una RETE (sia locale che nel WEB)? è dato dal suo indirizzo IP.....Originariamente inviato da Dreamer89
Esiste un qualche numero nel computer che lo identifichi univocamente? Se sì, esiste qualche metodo in Java che mi consenta di leggere questo numero? Mi servirebbe per identificare univocamente un pc![]()
Ma l'IP è dinamico, cambia ad ogni connessione... a me servirebbe che sia un numero univoco e che non sia possibile aggirarlo (come nel caso dei cookie). Esiste qualcosa del genere?Originariamente inviato da hurricane86
l'univocità in una RETE (sia locale che nel WEB)? è dato dal suo indirizzo IP.....
il MAC ADDRESS della scheda di rete ma non saprei proprio come "estrapolarlo dal java".....Originariamente inviato da Dreamer89
Ma l'IP è dinamico, cambia ad ogni connessione... a me servirebbe che sia un numero univoco e che non sia possibile aggirarlo (come nel caso dei cookie). Esiste qualcosa del genere?
Ma questo indirizzo MAC vale solo per chi possiede una scheda ethernet?? E chi non ce l'abbia? A me servirebbe un qualche codice valido per qualsiasi computer...Originariamente inviato da hurricane86
il MAC ADDRESS della scheda di rete ma non saprei proprio come "estrapolarlo dal java".....
Qua un esempio per prelevare il mac address:Originariamente inviato da Dreamer89
Ma questo indirizzo MAC vale solo per chi possiede una scheda ethernet?? E chi non ce l'abbia? A me servirebbe un qualche codice valido per qualsiasi computer...
Certo, senza una scheda di rete non puoi fare questo controllo....ma ormai chi non lo ha più? Qualsiasi pc "moderno" ha una scheda di rete (almeno integrata)...Altri modi non li conosco....Codice PHP:import java.net.InetAddress;
import java.net.NetworkInterface;
import java.net.SocketException;
import java.net.UnknownHostException;
public class MacAddress {
public static void main(String[] args) {
try {
InetAddress address = InetAddress.getLocalHost();
/*
* Get NetworkInterface for the current host and then read the
* hardware address.
*/
NetworkInterface ni = NetworkInterface.getByInetAddress(address);
byte[] mac = ni.getHardwareAddress();
/*
* Extract each array of mac address and convert it to hexa with the
* following format 08-00-27-DC-4A-9E.
*/
for (int i = 0; i < mac.length; i++) {
System.out.format("%02X%s", mac[i], (i < mac.length - 1) ? "-" : "");
}
} catch (UnknownHostException e) {
e.printStackTrace();
} catch (SocketException e) {
e.printStackTrace();
}
}
}
Ho provato a mandare in esecuzione questo programma, ma viene lanciata una NullPointerException alla riga del for... cosa vorrebbe dire, che non ho una scheda ethernet? o_O Non mi pare...Originariamente inviato da hurricane86
Qua un esempio per prelevare il mac address:
Certo, senza una scheda di rete non puoi fare questo controllo....ma ormai chi non lo ha più? Qualsiasi pc "moderno" ha una scheda di rete (almeno integrata)...Altri modi non li conosco....Codice PHP:import java.net.InetAddress;
import java.net.NetworkInterface;
import java.net.SocketException;
import java.net.UnknownHostException;
public class MacAddress {
public static void main(String[] args) {
try {
InetAddress address = InetAddress.getLocalHost();
/*
* Get NetworkInterface for the current host and then read the
* hardware address.
*/
NetworkInterface ni = NetworkInterface.getByInetAddress(address);
byte[] mac = ni.getHardwareAddress();
/*
* Extract each array of mac address and convert it to hexa with the
* following format 08-00-27-DC-4A-9E.
*/
for (int i = 0; i < mac.length; i++) {
System.out.format("%02X%s", mac[i], (i < mac.length - 1) ? "-" : "");
}
} catch (UnknownHostException e) {
e.printStackTrace();
} catch (SocketException e) {
e.printStackTrace();
}
}
}
non saprei , è un codice che ho trovato sul web e non testato personalmente....
Premetto che quel codice è compilabile solo a partire da Java 6.Originariamente inviato da Dreamer89
Ho provato a mandare in esecuzione questo programma, ma viene lanciata una NullPointerException alla riga del for... cosa vorrebbe dire, che non ho una scheda ethernet? o_O Non mi pare...
La documentazione è chiara:
Quel metodo restituisce un array di byte se e solo se c'è una scheda di rete presente nel PC (ed è il tuo caso) e se ci sono privilegi sufficienti per poter richiedere tale informazione (evidentemente, per qualche ragione che non conosco, non è il tuo caso).Returns the hardware address (usually MAC) of the interface if it has one and if it can be accessed given the current privileges.
Se con i privilegi attuali non si riesce ad accedere a tale informazione, il metodo ritorna null.
Ciao.![]()
"Perchè spendere anche solo 5 dollari per un S.O., quando posso averne uno gratis e spendere quei 5 dollari per 5 bottiglie di birra?" [Jon "maddog" Hall]
Fatti non foste a viver come bruti, ma per seguir virtute e canoscenza