2016-12-22 4 views
0

Ich muss UUID für meine Maschine Mac-Adresse generieren. Auch ich möchte die MAC-Adresse von UUID extrahieren.Codieren und Decodieren von Mac-Adresse von UUID mit C#

Ich weiß, wir können unter zwei Methoden für die Codierung und Decodierung verwenden. Aber es erzeugt die verschlüsselte Zeichenfolge nur nicht UUID.

Encode:

System.Convert.ToBase64String(System.Text.Encoding.UTF8.GetBytes(plainTextBytes)); 

Decode:

System.Text.Encoding.UTF8.GetString(System.Convert.FromBase64String(base64EncodedData)); 

Aber für meine Anforderung i (codieren), um die UUID generieren möchten und extrahieren (decode), um die MAC-Adresse. Wie macht man das in C# -Code?

+0

Sie können nicht. Die MAC-Adresse ist [nicht mehr von generierten Guids ableitbar] (http://stackoverflow.com/questions/2757910/how-are-net-4-guids-generated/2757969#2757969) – stuartd

Antwort

0

Sie können die MAC-Adresse mit dem folgenden Code abrufen. Von unseren Tests wird es Null auf etwa 1,3% der Maschinen (wahrscheinlich eine Form der virtuellen Maschine oder etwas sehr verschlossen) zurückgeben.

MAC-Adresse der ersten IP-fähigen Gerät

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; 
    } 
Verwandte Themen