string mac =null;
/// <summary>
/// 获取MAC地址
/// </summary>
/// <returns>mac地址</returns>
public ReadMac()//获取本机MAC地址
{
ManagementClass mc;
mc = new ManagementClass("Win32_NetworkAdapterConfiguration");
ManagementObjectCollection moc = mc.GetInstances();
foreach (ManagementObject mo in moc)
{
if (mo["IPEnabled"].ToString() == "True")
mac = mo["MacAddress"].ToString();
}
}
/// <summary>
/// mac地址转换成base64字符
/// </summary>
/// <param name="mac">原始mac地址</param>
/// <returns>转换后的mac地址</returns>
public string ChangeMac()
{
if (mac != null)
{
string str = mac.Replace(":", "");//去除mac中的":"
var strMac = Encoding.Default.GetBytes(str);//对其中字符进行编码
string endStr = Convert.ToBase64String(strMac);//将编码后的字符转换成base64
//string endStr = Encoding.Default.GetString(strMac);
return endStr;
}
else
{
return "Mac地址转换失败";
}
}
/// <summary>
/// Mac base64后的解码
/// </summary>
/// <param name="str">base64编码字符</param>
/// <returns>原始去除“:”的Mac</returns>
public string firstMac()
{
//var baseStr = Convert.FromBase64String (str);
//string firstStr = Encoding.Default.GetString(baseStr);
if (mac != null)
{
string firstStr = mac.Replace(":", "");
return firstStr;
}
else
{
return "本机Mac请求失败";
}
}
/// <summary>
/// 检查Mac地址是否匹配
/// </summary>
/// <param name="url">服务器路径</param>
/// <returns></returns>
public int CheckMac(string url)
{
string strCheckMac= PostUpload.PostMoth(url,"mac="+ ChangeMac() , Encoding.Default);//true上传成功,false上传失败
if (strCheckMac == "true")
{
return 1;
}
else
{
return 0;
}
}
}Mac地址的读取(包括base64的转换)
最新推荐文章于 2026-05-10 13:56:33 发布
这段代码展示了如何在C#中获取本机MAC地址,并进行Base64编码和解码操作。`ReadMac()`函数用于获取MAC地址,`ChangeMac()`将MAC地址转换为Base64字符串,`firstMac()`则是从Base64字符串还原MAC地址,而`CheckMac()`函数用于检查MAC地址与服务器的匹配情况。
开发板推荐:天空星STM32F407VET6开发板
超高性价比 STM32主控 | 超高主频 | 一板兼容百芯 | 比赛神器 | 沉金彩色丝印
开发板推荐:天空星STM32F407VET6开发板
超高性价比 STM32主控 | 超高主频 | 一板兼容百芯 | 比赛神器 | 沉金彩色丝印

3286

被折叠的 条评论
为什么被折叠?



