import uuid import hashlib import requests import os # 获得主板sn号 def getSN(): sn = os.popen("sudo dmidecode -s baseboard-serial-number | awk '{print $0}'").readlines() return sn[0].strip() #print("当前机器的主板序列号:", getSN()) key_org = getSN() md5 = hashlib.md5(key_org.encode()).hexdigest()[:16].upper() # 进行MD5加密,16是截取的长度,可根据需要自行更改 def inputKey(): # 激活码输入 key = input("请输入激活码:") result = requests.post(URL + "/verify?machineID=%s&key=%s" % (md5, key)).json()['result'] if result == "success": f = open("register.bin", "w") f.write(key) f.close() print("激活成功") main() else: print("激活码错误") inputKey() URL = "http://192.168.31.168:5001" # 激活服务器 requests.post(URL + "/generator?machineID=%s" % md5) # 未生成激活码的机器先生成激活码 if os.path.exists("register.bin"): # 检测是否存在激活文件 f = open("register.bin", "r").read() result = requests.post(URL + "/verify?machineID=%s&key=%s" % (md5, f)).json()['result'] # 校验激活文件是否正常 if result == "success": print("已激活") main() else: print("激活码异常") os.remove("register.bin") # 移除激活文件 inputKey() # 重新询问激活码 else: inputKey() # 询问激活码 def main(): # 这里是运行的主程序 print("进入主程序")