【问题标题】:Encode and Decode Mac address from UUID using C#使用 C# 从 UUID 编码和解码 Mac 地址
【发布时间】:2016-12-22 11:46:01
【问题描述】:

我需要为我的机器 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# 代码中做到这一点?

【问题讨论】:

标签: c# cryptography uuid guid


【解决方案1】:

您可以使用以下代码获取 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;
    }

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2017-09-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多