LabVIEW试用控制-绑定电脑网卡MAC地址 今天介绍实现LabVIEW程序试用控制的另外一种方法——绑定电脑网卡MAC地址。 1 使用场景 用户在电脑上首次使用LabVIEW试用程序时,需填写序列号,见图1。此时,用户需向程序开发商提供试用程序安装电脑的网卡MAC地址,程序开发商根据编码或密码算法对该MAC地址进行计算,把结果(序列号)发送至用户。由于该试用方法绑定了用户电脑网卡的MAC地址,一台电脑对应一个序列码,可有效避免用户多台电脑公用试用程序的问题,达到类似正版授权的效果。 图1 试用程序填写序列号截图 2 实现功能 本文中的试用程序仍然是一个简单的按钮控制圆灯亮灭的程序,安装试用程序并填写了正确的序列号的用户电脑可正常使用,即按下确定按钮后圆灯变亮,弹起确定按钮后圆灯变灭,见图2。 图2 试用程序正常使用截图 当用户想在其他电脑上安装试用程序,打开试用程序填写之前的序列号,程序界面会弹出“序列号错误,请重新输入!”的提示框,同时确定按钮为禁用状态,程序无法正常运行,见图3。 图3 试用程序停止试用截图 3 程序详解 (1)获取电脑网卡的MAC地址 执行系统命令ipconfig -all,经过两次匹配,截取出电脑网卡的MAC地址,格式为AA-BB-CC-DD-EE-FF。 (2)69对称点加密 然后把这17个字符的MAC地址进行69对称点加密(也可是用其他编码或密码算法),得到计算的序列码II]HH]GG]FF]EE]DD。 这里提到的69对称点加密,准确来说是一种编码方法。输入的每一个ASCII字符都被转换成另外一个ASCII字符,这两个ASCII字符对应的十进制数值之和为138,即以十进制数值69为对称点,比如ASCII字符的A(对应的十进制数值为65),转换为ASCII字符的I(对应的十进制数值为73),见图4。 图4 69对称点加密示例 (3)提示用户输入序列码并对比 用户输入的序列码与计算的序列码做对比,结果不一致时弹出“序列号错误,请重新输入!”的提示框,同时确定按钮为禁用状态,试用程序无法正常运行,见图5。 图5 输入序列号错误 对比结果一致时,弹出“序列号输入正确!”的提示框,并在D盘新建一个“mymac序列码.txt”的文件(其他格式也可以),然后执行系统命令attrib +R +S +H,设置mymac序列码.txt文件属性为只读、系统文件、隐藏,达到隐身的目的,同时确定按钮为使能状态,试用程序可正常运行,见图6。 注:+设置属性;-清除属性;R只读文件属性;S系统文件属性;H隐藏文件属性。 图6 输入序列号正确 (4)后期正常使用 后期用户每次打开试用程序使用时,确定按钮为使能状态,试用程序可正常运行,其程序框图见图7。 图7 后期正常使用 至此,已经通过绑定网卡的MAC地址实现基本的试用控制。
|