Mac地址的读取(包括base64的转换)

这段代码展示了如何在C#中获取本机MAC地址,并进行Base64编码和解码操作。`ReadMac()`函数用于获取MAC地址,`ChangeMac()`将MAC地址转换为Base64字符串,`firstMac()`则是从Base64字符串还原MAC地址,而`CheckMac()`函数用于检查MAC地址与服务器的匹配情况。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

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

        }
    }

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值