Python让自己的程序拥有自己的注册文件,防止在别人的机器使用
**** Hidden Message *****Python让自己的程序拥有自己的注册文件,防止在别人的机器使用源码分享给大家import wmi
import hashlib
import os
AUTHOR='52pj'
KEYFILENAME='./RegisterKey.key'
#获取CPU的序列号加上Author字段,MD5一次,再在结果加上Author字段再MD5一次,形成最终的比较密码
def GetLocalMachineEncrypedString():
try:
c = wmi.WMI()
decryptString = c.win32_Processor().ProcessorId.strip() + AUTHOR
encrypedString = hashlib.md5(decryptString.encode('utf-8')).hexdigest()
decryptString = encrypedString + AUTHOR
encrypedString = hashlib.md5(decryptString.encode('utf-8')).hexdigest()
except:
encrypedString = hashlib.md5(AUTHOR.encode('utf-8')).hexdigest()
return encrypedString
#文件中储存的Key是CPU序列号加Author,一次MD5结果
def GetKeyFromFile():
try:
f=open(KEYFILENAME,'r')
lines=f.readlines()
keyString=lines
return keyString
except:
return ''
#把文件的key加上author,做最后一次MD5生成最终结果
def CheckIsRegistered():
decryptString=GetKeyFromFile()+AUTHOR
encrypedString = hashlib.md5(decryptString.encode('utf-8')).hexdigest()
if encrypedString==GetLocalMachineEncrypedString():
return True
else:
return False
#生成key文件
def BuildRegisterKey():
try:
c = wmi.WMI()
decryptString = c.win32_Processor().ProcessorId.strip() + AUTHOR
encrypedString = hashlib.md5(decryptString.encode('utf-8')).hexdigest()
except:
encrypedString=''
try:
f=os.open(KEYFILENAME,os.O_CREAT|os.O_WRONLY)
os.write(f,encrypedString.encode('utf-8'))
print('写入', KEYFILENAME, '成功')
except:
print('写入',KEYFILENAME,'失败')
def BuildRegisterKey(decryptString):
if decryptString:
decryptString = decryptString + AUTHOR
encrypedString = hashlib.md5(decryptString.encode('utf-8')).hexdigest()
else:
encrypedString=''
try:
f=os.open(KEYFILENAME,os.O_CREAT|os.O_WRONLY)
os.write(f,encrypedString.encode('utf-8'))
print('写入', KEYFILENAME, '成功')
except:
print('写入',KEYFILENAME,'失败')
def ShowCPUSerialNumber():
try:
c = wmi.WMI()
decryptString = c.win32_Processor().ProcessorId.strip()
except:
decryptString=''
return decryptString
嘻嘻不错支持一个 学习一下!十分感谢 我表示压力很大 赞一个! 感觉不错 666666666666666666666666 9999999999999999 谢谢大人的分享 非常不错,感谢分享!