|  |  | 
 |  |  |     /** | 
 |  |  |      * 组装需要额外校验的License参数 | 
 |  |  |      */ | 
 |  |  |     public LicenseCheck getServerInfos(){ | 
 |  |  |     public LicenseCheck getServerInfos() { | 
 |  |  |         LicenseCheck result = new LicenseCheck(); | 
 |  |  |  | 
 |  |  |         try { | 
 |  |  | 
 |  |  |             result.setMacAddress(this.getMacAddress()); | 
 |  |  |             result.setCpuSerial(this.getCPUSerial()); | 
 |  |  |             result.setMainBoardSerial(this.getMainBoardSerial()); | 
 |  |  |         }catch (Exception e){ | 
 |  |  |             logger.error("获取服务器硬件信息失败",e); | 
 |  |  |         } catch (Exception e) { | 
 |  |  |             logger.error("获取服务器硬件信息失败", e); | 
 |  |  |         } | 
 |  |  |  | 
 |  |  |         return result; | 
 |  |  | 
 |  |  |                 InetAddress inetAddr = (InetAddress) inetAddresses.nextElement(); | 
 |  |  |  | 
 |  |  |                 //排除LoopbackAddress、SiteLocalAddress、LinkLocalAddress、MulticastAddress类型的IP地址 | 
 |  |  |                 if(!inetAddr.isLoopbackAddress() /*&& !inetAddr.isSiteLocalAddress()*/ | 
 |  |  |                         && !inetAddr.isLinkLocalAddress() && !inetAddr.isMulticastAddress()){ | 
 |  |  |                 if (!inetAddr.isLoopbackAddress() /*&& !inetAddr.isSiteLocalAddress()*/ | 
 |  |  |                         && !inetAddr.isLinkLocalAddress() && !inetAddr.isMulticastAddress()) { | 
 |  |  |                     result.add(inetAddr); | 
 |  |  |                 } | 
 |  |  |             } | 
 |  |  | 
 |  |  |     /** | 
 |  |  |      * 获取某个网络接口的Mac地址 | 
 |  |  |      */ | 
 |  |  |     protected String getMacByInetAddress(InetAddress inetAddr){ | 
 |  |  |     protected String getMacByInetAddress(InetAddress inetAddr) { | 
 |  |  |         try { | 
 |  |  |             byte[] mac = NetworkInterface.getByInetAddress(inetAddr).getHardwareAddress(); | 
 |  |  |             StringBuffer stringBuffer = new StringBuffer(); | 
 |  |  |  | 
 |  |  |             for(int i=0;i<mac.length;i++){ | 
 |  |  |                 if(i != 0) { | 
 |  |  |             for (int i = 0; i < mac.length; i++) { | 
 |  |  |                 if (i != 0) { | 
 |  |  |                     stringBuffer.append("-"); | 
 |  |  |                 } | 
 |  |  |  | 
 |  |  |                 //将十六进制byte转化为字符串 | 
 |  |  |                 String temp = Integer.toHexString(mac[i] & 0xff); | 
 |  |  |                 if(temp.length() == 1){ | 
 |  |  |                 if (temp.length() == 1) { | 
 |  |  |                     stringBuffer.append("0" + temp); | 
 |  |  |                 }else{ | 
 |  |  |                 } else { | 
 |  |  |                     stringBuffer.append(temp); | 
 |  |  |                 } | 
 |  |  |             } |