import base64
import win32api
from pyDes import *
from pyDes import des,PAD_PKCS5,ECB# #from binascii import a2b_hex #如果需要用二进制编码保存注册码和注册文件可以使用binascii转换
# class register:
#     def __init__(self):
#         self.Des_Key = "BHC#@*UM" # Key
#         self.Des_IV = "\x22\x33\x35\x81\xBC\x38\x5A\xE7" # 自定IV向量
#     #获取C盘卷序列号
#     #使用C盘卷序列号的优点是长度短,方便操作,比如1513085707,但是对C盘进行格式化或重装电脑等操作会影响C盘卷序列号。
#     #win32api.GetVolumeInformation(Volume Name, Volume Serial Number, Maximum Component Length of a file name, Sys Flags, File System Name)
#     #return('', 1513085707, 255, 65470719, 'NTFS'),volume serial number is 1513085707.
#     def getCVolumeSerialNumber(self):
#         CVolumeSerialNumber=win32api.GetVolumeInformation("C:\\")[1]
#         if CVolumeSerialNumber:
#             return str(CVolumeSerialNumber) #number is long type,has to be changed to str for comparing to content after.
#         else:
#             return 0
def write_str(data):f = open("C:/a.txt", 'w')f.write(data)f.close()def read_str():f = open("C:/a.txt",encoding='utf-8')line = f.readline()f.close()return line#获取本机注册号
def get_registration_Number():CVolumeSerialNumber=win32api.GetVolumeInformation("C:\\")[1]if CVolumeSerialNumber:return str(CVolumeSerialNumber) #number is long type,has to be changed to str for comparing to content after.else:return 0#根据注册号生成
def create_key(DES_SECRET,data):desObj = des(DES_SECRET,ECB,None,padmode=PAD_PKCS5)#加密myencrypt_jia = desObj.encrypt(data)a=base64.b64encode(myencrypt_jia)  #转base64编码返回return a.decode().strip()#校验
def vs(DES_SECRET,data,key):key=base64.b64decode(key)  #base64解码返回#解密desObj = des(DES_SECRET,ECB,None,padmode=PAD_PKCS5)mydecrypt_jie = desObj.decrypt(key)bb=mydecrypt_jie.decode()if data==bb:print("ok!!")if __name__ == '__main__':
#     showUI()# data=get_registration_Number()# print(data)# #设置加密时添加的秘钥# DES_SECRET = 'salman12'# desObj = des(DES_SECRET,ECB,None,padmode=PAD_PKCS5)# #加密# myencrypt_jia = desObj.encrypt(data)# #解密# mydecrypt_jie = desObj.decrypt(myencrypt_jia)# a=base64.b64encode(myencrypt_jia)  #转base64编码返回# print(a)# b=a.decode().strip()  #去除b字符# print(b)# print(mydecrypt_jie.decode())a=get_registration_Number()   #获取本机注册号#设置加密时添加的秘钥DES_SECRET = 'salman12'    #设置密钥b=create_key(DES_SECRET,a)    #根据注册号生成激活码write_str(b)read_read=read_str()print("read:"+read_read)print(a)print(b)vs(DES_SECRET,a,b)   

python 实现软件激活码验证相关推荐

  1. 分享一个外国免费在线领各类软件激活码的网站

    分享一个外国免费在线领各类软件激活码的网站 链接地址:https://www.serials.ws/ 说明 有大量常用软件的激活码,包括操作系统的

  2. 转!最适合新手小白的8个python开发环境(内附python IDE最新下载地址+软件激活码+长期有效)

    原文链接:https://blog.csdn.net/weixin_44192923/article/details/86532653 Python是一种功能强大.语言简洁的编程语言.本文向大家推荐8 ...

  3. 最适合新手小白的9个python开发环境(内附python IDE最新下载地址+软件激活码+长期有效)

    转载:https://blog.csdn.net/weixin_44192923/article/details/86532653 Python是一种功能强大.语言简洁的编程语言.本文向大家推荐8个适 ...

  4. 最适合新手小白的8个python开发环境(内附python IDE最新下载地址+软件激活码+长期有效)

    原文链接:https://blog.csdn.net/weixin_44192923/article/details/86532653 Python是一种功能强大.语言简洁的编程语言.本文向大家推荐8 ...

  5. python 根据C盘卷号进行 加密解密,可以用做软件激活码

    import base64 import win32api from pyDes import * from pyDes import des,PAD_PKCS5,ECB#from binascii ...

  6. CleanMyMac x2021中文版mac清理软件激活码下载

    作为一名一直使用Mac的用户,支持清理电脑中垃圾以及各方面管理的软件都不如Windows选择范围大.不得不为了更好的使用Mac的清理软件CleanMyMac X,或者干脆选择了盗版软件使用.经过简单几 ...

  7. 【iobit 软件】家族系列 - 正版激活码

    装机必备iobit系列软件 - 激活码获取看最后 第一款.Advanced SystemCare 16  您需要的人工智能驱动的PC优化器,以释放磁盘空间,加速PC并保护在线隐私. 功能特点: 1. ...

  8. 让离线程序也需要输入校验码(激活码)才可使用(python实现)

    我遇到个需求:需要给离线程序加一道锁,防门外汉的那种.因为离线程序遇到高手,肯定是会被破解的.像IntelliJ全家桶这样超大型软件,都无法防止用户的暴力破解.何况我这小打小闹的玩意.所以,目的就是防 ...

  9. python生成激活码

    github上的小练习啦,生成激活码,并且保存到mysql数据库中,代码: #coding=utf-8 import uuid import pymysql ''' uuid库生成128位全局唯一标识 ...

  10. OmniGraffler软件和激活码

    mac上用户画图的软件:OmniGraffler破解方法 1.激活码 Name: Appked SN: MFWG-GHEB-HYTW-CGHT-CSXU-QCNC-SXU 2.软件连接 链接: htt ...

最新文章

  1. 【 FPGA 】FIR滤波器之 多个系数集问题以及 使用非整数实数的系数规范问题
  2. 词性标注,实体识别,ICTCLAS分析系统的学习
  3. 无法连接到数据库服务器 could not connect to server: Connection refused
  4. wordpress woodstock主题导入demo xml文件 execution time out
  5. 【强烈推荐】《剑指Offer:名企面试官精讲典型编程题》一书中IT名企经典面试题
  6. 静态链接库LIB和动态链接库DLL的区别 创建和示例
  7. 右键单击文件夹进入命令行窗口
  8. 想做测试工程师,这7件事你必须先知道
  9. JavaScript 真正的工作原理,你知道吗?
  10. 双重检查锁定及单例模式
  11. 滴滴出行回应导航崩了;微信支付正式上线「向手机号转账」功能;Guns 6.0 发布 | 极客头条...
  12. SonarQube安装步骤 Windows10系统
  13. c语言c99标准_C语言的三套标准:C89、C99和C11
  14. 开源项目推荐:3D点云处理软件ParaView,基于Qt和VTK
  15. oracle序列可以创建同义词吗,Oracle基础教程:同义词与序列
  16. 计算机加减乘除的公式,excel公式汇总(excel公式加减乘除)
  17. 游戏的本质【转自网易】
  18. Alphago zero知识点
  19. 双系统后适合装matlab吗,安装双系统对电脑有什么影响|电脑装双系统有什么好处和坏处...
  20. 实验:4级流水线32bits全加器

热门文章

  1. CTO能力知识地图正式发布
  2. Python数据分析师工资怎么样?
  3. 四阶魔方初级玩法公式
  4. 各种泵的图形符号_泵的图形符号
  5. PROFINET的时钟同步(一)
  6. 黑五钜惠,幸运加倍。Filmage产品组合优惠,更有PDF系列产品限时五折
  7. Ubuntu 切换中文目录为英文目录
  8. 智慧养殖系统方案云平台功能
  9. oracle 存储过程body,【随手记】Oracle存储过程报错 Compilation errors for PACKAGE BODY
  10. VirtualBox 安装增强功能