Здравствуйте, java_yyyka, Вы писали:
_>я кажется ясно дал понять что говорил не про сервер а про прицепление дллки и желательно зашифрованной той же темидой в клиентсую часть. вот её уже можно будет обмануть только специалисту а таких нет в той сфере. либо это будет дорого.
Из клиента узнать MAC адрес в Java проще простого. Никаких DLL-ек не нужно.
http://java.sun.com/javase/6/docs/api/java/net/NetworkInterface.html#getHardwareAddress%28%29
package lv.learn.mac;
import java.net.InetAddress;
import java.net.NetworkInterface;
import java.util.Enumeration;
public class Mac {
public static void main(String[] args) throws Exception {
Enumeration<NetworkInterface> interfaces = NetworkInterface
.getNetworkInterfaces();
while (interfaces.hasMoreElements()) {
NetworkInterface i = interfaces.nextElement();
System.out.println("Display name: " + i.getDisplayName());
System.out.println("Name: " + i.getName());
Enumeration<InetAddress> inetAddresses = i.getInetAddresses();
while (inetAddresses.hasMoreElements()) {
InetAddress addr = inetAddresses.nextElement();
System.out.println("hostAddress: " + addr.getHostAddress());
}
byte[] mac = i.getHardwareAddress();
// null if localhost
if (mac != null) {
for (byte b : mac) {
System.out.print(b);
}
}
System.out.println();
}
}
}
Вот его вывод:
Display name: vboxnet0
Name: vboxnet0
hostAddress: fe80:0:0:0:800:27ff:fe00:0%4
hostAddress: 192.168.56.1
MAC as bytes: 10039000
Display name: eth1
Name: eth1
hostAddress: fe80:0:0:0:219:5bff:fe72:448b%3
hostAddress: 10.0.0.2
MAC as bytes: 0259111468-117
Display name: lo
Name: lo
hostAddress: 0:0:0:0:0:0:0:1%1
hostAddress: 127.0.0.1