Python 获取硬盘 主板等生产注册码

cpp 复制代码
import wmi
import random
import os

sec="t95p0q2f6dz1cxmowgjensr7yh384bvualki"
dec="dn7vhlk3wx1efsyc56zu2bomjtq8i0g4rp9a"

c=wmi.WMI()

for physical_disk in c.Win32_DiskDrive():
    hard_seral=physical_disk.SerialNumber #获取硬盘系列号
    print("硬盘系列号为:",hard_seral)
if len(hard_seral)>6:
    hard_seral=hard_seral[-6:]
else:
    print("硬盘信息获取错误!")
    os.exit(0)
for cpu in c.Win32_Processor():
    cpu_seral=cpu.ProcessorId.strip()  #获取CPU系列号
    print("CPU系列号为:",cpu_seral)
if len(cpu_seral)>4:
    cpu_seral=cpu_seral[-4:]
else:
    print("CPU信息获取错误!")
    os.exit(0)
for board_id in c.Win32_BaseBoard():
    board_id=board_id.SerialNumber #获取主板系列号
    print("主板系列号为:",board_id)
if len(board_id)>6:
    board_id=board_id[-5:]
else:
    print("主板信息获取错误!")
    os.exit(0)
seral=hard_seral+cpu_seral+board_id
print("注册码使用的硬件信息为:",seral)
cha_seral=""
for i in range(0,14,2):
    cha_seral+=seral[14-i]+seral[i+1] #字符串尾和首递进连接生成新的字符串
cha_seral=cha_seral+seral[7]          #字符串的中间值放到新的字符串
list_seral=list(cha_seral)            #字符串转为列表
list_seral.reverse()                  #列表反转
rand_seral=""

for i in range(10):             # 将前10个字符串和其位置索引
    j=random.randint(1,len(list_seral))
    rand_seral+=hex(j)[2:]+list_seral[j-1] #hex(j[2:],去掉16进制前的符号0x
    list_seral.remove(list_seral[j-1])
rand_seral=''.join(list_seral)+rand_seral #形成25位的字符串
low_seral=""
rand_seral=rand_seral.lower()
for item in rand_seral:
    j=sec.index(item)
    low_seral+=dec[j]
low_seral=low_seral.upper()
last_seral=low_seral[0:5]+"-"+low_seral[5:10]+"-"+low_seral[10:15]+"-"+low_seral[15:20]+"-"+low_seral[20:25]
print("生成的注册码为:\n",last_seral)
相关推荐
张张123y2 小时前
后端第一课:输入 URL 后发生了什么?我用手写 Socket 把全链路跑通了
python·websocket·ai·socket·url·后端开发
白帽攻防录3 小时前
SRC 挖洞:PostScript 打印机驱动双 RCE,打印服务器怎么变成内网跳板
开发语言·网络安全·php·内网安全
十年Java程序媛3 小时前
Java枚举Enum完整教程|替代静态常量,开发与面试要点
java·开发语言·spring boot·后端·面试
全栈弄潮儿4 小时前
Python实战第7期:字典与集合
后端·python·编程语言
2603_965148114 小时前
电商选品调研:通过关键词搜索API获取市场热销商品,结合商品详情API分析竞品卖点与定价
开发语言·数据库·人工智能·python·信息可视化
xixiaoyunya5 小时前
Python 异步编程入门:用 asyncio 轻松实现并发任务
开发语言·python·php
把我格子衫拿来5 小时前
Dice 很高就够了吗?分割评价中的 IoU、表面距离与 HD95
python·图像分割·模型评估·医学影像·dice
略懂而已5 小时前
腾讯云COS 自动同步 for windows
windows·云计算·腾讯云
学逆向的5 小时前
C 循环结构的执行效率分析
c语言·开发语言·数据结构·网络安全
曲径海盗5 小时前
【Python 学习第 31 天】复习:变量与数据类型 等 3 题
python·学习笔记·编程入门