我是靠谱客的博主 瘦瘦寒风,最近开发中收集的这篇文章主要介绍Python 设置机器码验证一、获取电脑唯一标识信息二、设置机器码拼接组合三、利用机器码做登录验证,觉得挺不错的,现在分享给大家,希望可以做个参考。
概述
提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档
Python 设置机器码验证
- 一、获取电脑唯一标识信息
- 二、设置机器码拼接组合
- 三、利用机器码做登录验证
- 1. 将收集来的机器码保存在数据库中
- 2. 根据当前电脑信息形成的机器码与数据库中进行对比
一、获取电脑唯一标识信息
# -*- coding: utf-8 -*-
import wmi
class Hardware:
def __init__(self):
self.Des_Key = "DESCRYPT" # Key
self.Des_IV = "x1513x2a31x232 " # 自定IV向量
global s
s = wmi.WMI()
# 获取CPU信息
def get_CPU_info(self):
cpu = []
cp = s.Win32_Processor()
for u in cp:
cpu.append(
{
"Name": u.Name,
"Serial Number": u.ProcessorId,
"CoreNum": u.NumberOfCores
}
)
# print(":::CPU info:", json.dumps(cpu))
return cpu
@staticmethod
def get_baseboard_sn():
"""
获取主板序列号
:return: 主板序列号
"""
c = wmi.WMI()
for board_id in c.Win32_BaseBoard():
# print(board_id.SerialNumber)
return board_id.SerialNumber
@staticmethod
def get_bios_sn():
"""
获取BIOS序列号
:return: BIOS序列号
"""
c = wmi.WMI()
for bios_id in c.Win32_BIOS():
# print(bios_id.SerialNumber.strip)
return bios_id.SerialNumber.strip()
# 硬盘序列号
def get_disk_info(self):
disk = []
for pd in s.Win32_DiskDrive():
disk.append(
{
"Serial": s.Win32_PhysicalMedia()[0].SerialNumber.lstrip().rstrip(), # 获取硬盘序列号,调用另外一个win32 API
"ID": pd.deviceid,
"Caption": pd.Caption,
"size": str(int(float(pd.Size) / 1024 / 1024 / 1024)) + "G"
}
)
# print(":::Disk info:", json.dumps(disk))
return disk
# mac 地址(包括虚拟机的)
def get_network_info(self):
network = []
for nw in s.Win32_NetworkAdapterConfiguration(): # IPEnabled=0
if nw.MACAddress != None:
network.append(
{
"MAC": nw.MACAddress, # 无线局域网适配器 WLAN 物理地址
"ip": nw.IPAddress
}
)
# print(":::Network info:", json.dumps(network))
return network
二、设置机器码拼接组合
取以上获取的电脑信息中的一部分,自己设置具体取哪些,可以通过字符串截取。然后用加密方式加密后形成MachineCode。
三、利用机器码做登录验证
1. 将收集来的机器码保存在数据库中
2. 根据当前电脑信息形成的机器码与数据库中进行对比
== 则验证成功。!= 则提示验证失败。
最后
以上就是瘦瘦寒风为你收集整理的Python 设置机器码验证一、获取电脑唯一标识信息二、设置机器码拼接组合三、利用机器码做登录验证的全部内容,希望文章能够帮你解决Python 设置机器码验证一、获取电脑唯一标识信息二、设置机器码拼接组合三、利用机器码做登录验证所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复