`

java获取硬盘ID以及MAC地址

阅读更多
import java.io.File;
import java.io.FileWriter;
import java.io.BufferedReader;
import java.io.InputStreamReader;

class DiskUtils {
	private DiskUtils() {
	}

	public static String getSerialNumber(String drive) {
		String result = "";
		try {
			File file = File.createTempFile("damn", ".vbs");
			file.deleteOnExit();
			FileWriter fw = new java.io.FileWriter(file);
			String vbs = "Set objFSO = CreateObject(\"Scripting.FileSystemObject\")\n"
					+ "Set colDrives = objFSO.Drives\n"
					+ "Set objDrive = colDrives.item(\""
					+ drive
					+ "\")\n"
					+ "Wscript.Echo objDrive.SerialNumber"; // see note
			fw.write(vbs);
			fw.close();
			Process p = Runtime.getRuntime().exec(
					"cscript //NoLogo " + file.getPath());
			BufferedReader input = new BufferedReader(new InputStreamReader(
					p.getInputStream()));
			String line;
			while ((line = input.readLine()) != null) {
				result += line;

			}
			input.close();
		} catch (Exception e) {
			e.printStackTrace();
		}
		return result.trim();
	}
}

MacUtils

import java.io.InputStreamReader;
import java.io.LineNumberReader;


public class MacUtils {

	public static void  getMac(){
	try {

		Process process = Runtime.getRuntime().exec("ipconfig /all");

		InputStreamReader ir = new InputStreamReader(process.getInputStream());

		LineNumberReader input = new LineNumberReader(ir);

		String line;

		while ((line = input.readLine()) != null)
			

		if (line.indexOf("Physical Address") > 0) {

			String MACAddr = line.substring(line.indexOf("-") - 2);

			System.out.println("MAC address = [" + MACAddr + "]");

		}

		} catch (java.io.IOException e) {

			System.err.println("IOException " + e.getMessage());

		}
	}
}

 

转:http://blog.csdn.net/coolwzjcool/article/details/6698327

分享到:
评论

相关推荐

    java得到机器的MAC,硬盘序列序列号和IP地址

    得到机器的MAC,硬盘序列序列号和IP地址 public static void main(String[] args) ...{ String osName = System.getProperty("os.name"); StringBuffer systemPathBuff = new StringBuffer(""); if (osName.index...

    java读取服务器硬件信息(windowx+linux+Mac OS)

    在Java编程中,读取服务器硬件信息是一项重要的任务,尤其对于跨平台的应用程序来说,能够兼容Windows、Linux和Mac OS等不同操作系统是必不可少的。本文将深入探讨如何使用Java来获取这些不同系统的硬件信息。 首先...

    获得 Linux window 的硬盘ID 和mac , ip 等信息(已测试)

    本文将详细介绍如何在Linux和Windows操作系统中,使用Java编程语言获取硬盘ID(通常指的是硬盘序列号)、MAC地址以及IP等相关信息。 首先,让我们从Linux系统开始。在Linux环境下,硬盘ID通常指的是硬盘的序列号,...

    根据mac地址生成服务器唯一机器码

    这个jar包可能封装了获取MAC地址、处理和生成机器码的逻辑,以及可能的授权验证机制。开发者可以将其引入项目中,通过调用相应的API来实现服务器的授权和注册功能。 总的来说,基于MAC地址生成服务器唯一机器码是一...

    Java-HardwareIDUtils.rar_BIOS_Java-api-mac_java hardware id_java

    设计支持windows、linux、OS等操作系统平台,目前已经支持windows平台,可根据思路自行补充linux和OS平台下的一些api,取得机器硬件指纹(cpu 序列号、mac地址、BIOS序列号、硬盘ID),主要用作软件授权使用对象的...

    C#程序Mac地址AES加密及解密

    通过这个小工具,用户能够方便地获取Mac地址并使用AES加密技术进行保护,确保Mac地址不会被轻易暴露,从而提升了网络安全。这种加密方法在许多场景下都十分有用,比如在设备认证、网络通信或者敏感数据存储等方面。

    获取CPUID MAC编号,硬盘序列号的代码

    前段时间,公司让写一个授权文件,要求软件只能在某台及其上运行,只要脱离该机器,就不能运行,因此,我参考了获取CPUID、MACID和硬盘序列号的获取信息代码,将软件和这些进行加密绑定。感觉这些还是挺有用的,大家...

    获取硬盘唯一序列号和机器唯一id

    在IT领域,获取硬盘唯一序列号和机器唯一ID是常见的需求,这主要涉及到系统管理和软件激活等方面。硬盘序列号和机器唯一ID(Machine ID或Machine Unique Identifier)是计算机硬件的重要标识,它们为软件开发者提供...

    获取mac地址的代码

    Java提供了`java.net.NetworkInterface`类来获取网络接口的信息,包括MAC地址。 ```java import java.net.NetworkInterface; import java.net.SocketException; import java.util.Enumeration; public class...

    java获取电脑信息demo

    如果需要获取硬件信息,比如CPU、硬盘和内存,可能需要借助第三方库,如JNA(Java Native Access)或者JNI(Java Native Interface)。例如,使用JNA可以访问Windows API获取CPU使用率: ```java import ...

    获取硬盘串号

    - 对于开发者,可以通过编程语言的API来获取硬盘信息,例如在Python中使用`psutil`库,Java中使用`java.io.File`类的`getCanonicalFile()`方法等。 了解如何获取硬盘串号对于系统管理员、硬件维修人员以及数据恢复...

    获得硬盘物理序列号和硬盘型号

    硬盘ID通常包含这两项信息,它们是硬盘的唯一标识,可以帮助我们识别和追踪硬盘,甚至用于软件激活或加密策略。 首先,我们要理解什么是硬盘物理序列号。物理序列号是硬盘制造商分配给每个硬盘的独特标识符,它存储...

    JAVA通过oshi获取系统和硬件信息

    本篇文章将详细讲解如何使用OSHI库来获取系统及硬件信息,并结合描述中的需求,探讨如何根据MAC地址、序列号和处理器ID生成加密字符串。 首先,引入OSHI库到项目中。通常,可以通过Maven或Gradle依赖管理工具添加...

    web取PC设备ID

    2. **JavaScript API限制**:由于隐私和安全原因,JavaScript的标准API并不允许直接获取CPU ID、硬盘ID和MAC地址。这是为了防止恶意网站滥用这些信息侵犯用户隐私。然而,有些硬件信息可以通过浏览器API间接获取,如...

    获取电脑硬件的详细信息,与注册有关,物理地址,序列号

    获取MAC地址可以使用命令行(如Windows的`getmac`,Linux的`ifconfig`),或通过编程接口(如Java的`NetworkInterface`类)。 4. 电脑名称:电脑名称是操作系统中用于识别每台计算机的标识符,可以在网络环境中区分...

    开源项目-denisbrodbeck-machineid.zip

    在不使用管理员权限的情况下获取机器ID是一项挑战,因为许多常规的方法,如读取MAC地址或者注册表项,通常需要管理员权限。这个开源项目可能采用了以下几种技术: 1. **硬件UUID**:某些硬件组件,如硬盘驱动器和...

    获取设备参数

    设备参数通常包括CPU信息、内存容量、硬盘细节、操作系统版本、网络配置以及各种硬件组件的型号和驱动程序状态。在本文中,我们将深入探讨如何在不同操作系统和编程环境中获取这些关键数据。 1. **Windows系统**: ...

    读取系统信息

    7. 网络信息:IP地址、MAC地址、连接状态等。 8. 用户账户信息:用户名、用户ID、权限等级等。 9. 系统性能指标:CPU占用率、内存使用情况、磁盘读写速度等。 在压缩包内的“WinAppReadSYS.exe”文件,根据文件扩展...

    读取机子上的进程

    在“进程”或“详细信息”选项卡中,你可以看到当前系统上所有运行的进程及其相关信息,如CPU、内存、硬盘和网络使用情况,以及进程的启动时间等。 在Linux环境中,命令行工具如`ps`、`top`和`htop`是查看进程的...

Global site tag (gtag.js) - Google Analytics