我需要为我的机器Mac地址生成UUID。我还想从UUID中提取mac地址。
我知道我们可以使用以下两种方法进行编码和解码。但它只生成加密字符串而不是UUID。
编码:
System.Convert.ToBase64String(System.Text.Encoding.UTF8.GetBytes(plainTextBytes));
解码:
System.Text.Encoding.UTF8.GetString(System.Convert.FromBase64String(base64EncodedData));
但是对于我的要求,我想生成(编码)UUID并提取(解码)mac地址。如何在C#代码中执行此操作?
答案 0 :(得分:0)
您可以使用以下代码获取MAC地址。 从我们的测试中,它将在大约1.3%的机器上返回null(可能是某种形式的虚拟机或非常锁定的东西)。
首个启用IP的设备的MAC地址
public static string GetMACAddress()
{
try
{
using (ManagementClass mc = new ManagementClass("Win32_NetworkAdapterConfiguration"))
{
using (ManagementObjectCollection moc = mc.GetInstances())
{
if (moc != null)
{
foreach (ManagementObject mo in moc)
{
try
{
Trace.WriteLine(mo["Index"] + " Mac " + mo["Caption"] + " : " + mo["MacAddress"] + " Enabled " + (bool)mo["IPEnabled"]);
if (mo["MacAddress"] != null && mo["IPEnabled"] != null && (bool)mo["IPEnabled"] == true)
{
return mo["MacAddress"].ToString();
}
}
finally
{
mo.Dispose();
}
}
}
}
}
}
catch (Exception ex)
{
Trace.TraceWarning("Failed to read DiskID\r\n" + ex.Message);
}
return null;
}