|
|
俗静
发表于 2023-10-31 16:07
30吾爱币
需求:想每一台安装了软件的电脑有唯一的编号,即使软件卸载重装,编号依然不变。
使用:device_id = str(uuid.uuid1())#这个方法软件重装后编号会变化
使用下面的方法获取mac地址、cpu序列号、主板序列号作为唯一编号,经实测都不是全网唯一,而且有很大的概率重复(才1000个样本不到就出现重复了)
请教大家有没有别的好办法来制定唯一机器码
# mac地址(不唯一)
def mac_info(a=None):
import uuid
mac = uuid.UUID(int=uuid.getnode()).hex[-12:]
return mac
# print("MAC地址:", ':'.join([mac[e:e + 2] for e in range(0, 11, 2)]))
# cpu序列号(不唯一)
def cpu_Info(a=None):
cpu = []
cp = wmi.WMI().Win32_Processor()
for u in cp:
cpu.append(
{
"Name": u.Name,
"SerialNumber": u.ProcessorId,
"CoreNum": u.NumberOfCores
}
)
return cpu[0].get('SerialNumber')
# 主板序列号(不唯一)
def mainboard_info(a=None):
mainboard = []
for board_id in wmi.WMI().Win32_BaseBoard():
mainboard.append(board_id.SerialNumber.strip().strip('.'))
return mainboard[0] |
最佳答案
查看完整内容
1. 主板UUID
2.MachineGUID 重装系统会改变
[mw_shl_code=python,true]import winreg
def get_machine_guid():
key = r'SOFTWARE\Microsoft\Cryptography'
registry_key = winreg.OpenKey(winreg.HKEY_LOCAL_MACHINE, key)
value, regtype = winreg.QueryValueEx(registry_key, 'MachineGuid')
winreg.CloseKey(registry_key)
re ...
|
发帖前要善用【论坛搜索】功能,那里可能会有你要找的答案或者已经有人发布过相同内容了,请勿重复发帖。 |
|
|
|