这篇文章主要介绍了Python Des加密解密如何实现软件注册码机器码,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
原理
说明
代码
# coding: utf-8 import win32api import pyDes from binascii import b2a_hex, a2b_hex import base64 import os def getCVolumeSerialNumber(): CVolumeSerialNumber=win32api.GetVolumeInformation("C:\\")[1] # print(CVolumeSerialNumber) if CVolumeSerialNumber: return str(CVolumeSerialNumber) else: return 0 def DesEncrypt(str): k = pyDes.des(Des_Key, pyDes.CBC, Des_IV, pad=None, padmode=pyDes.PAD_PKCS5) encryptStr = k.encrypt(str) string = base64.b64encode(encryptStr) # print(string) return string # 转base64编码返回 def DesDecrypt(string): string = base64.b64decode(string) k = pyDes.des(Des_Key, pyDes.CBC, Des_IV, pad=None, padmode=pyDes.PAD_PKCS5) decryptStr = k.decrypt(string) # print(decryptStr) return decryptStr Des_Key = "12345678" # Key Des_IV = "12345678" # 自定IV向量 def Register(): if os.path.isfile('conf.bin'): with open('conf.bin', 'rb') as fp: key = a2b_hex(fp.read()) print(key) serialnumber = getCVolumeSerialNumber() decryptstr = DesDecrypt(key).decode('utf8') print(decryptstr) if serialnumber in decryptstr: if 'Buy' in decryptstr: print('>> Buy') print(">> 验证完成") return 1 elif 'Trial' in decryptstr: print('>> Trial') return 2 rand = str(random.randrange(1, 1000)) serialnumber = getCVolumeSerialNumber() + rand print(serialnumber) encryptstr = DesEncrypt(serialnumber).decode('utf8') print(">> 序列号:", encryptstr) while True: key = input(">> 验证码:") try: decryptstr = DesDecrypt(key.encode('utf8')).decode('utf8') print(decryptstr) if serialnumber in decryptstr: if 'Buy' in decryptstr: print('>> Buy') with open('conf.bin', 'wb') as fp: fp.write(b2a_hex(key.encode('utf8'))) print(">> 验证完成") return 1 elif 'Trial' in decryptstr: print('>> Trial') return 2 except Exception as e: print(e) print(">> 输入错误") continue
效果
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持小牛知识库。
本文向大家介绍php实现用户注册密码的crypt加密,包括了php实现用户注册密码的crypt加密的使用技巧和注意事项,需要的朋友参考一下 本文实例为大家分享了php用户注册密码的加密,供大家参考,具体内容如下 一、代码 1、conn.php 2、index.php 3、index_ok.php 二、运行结果 注册成功后,数据库显示如下: 以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大
本文向大家介绍基于python脚本实现软件的注册功能(机器码+注册码机制),包括了基于python脚本实现软件的注册功能(机器码+注册码机制)的使用技巧和注意事项,需要的朋友参考一下 一、前言: 目的:完成已有python图像处理工具的注册功能 功能:用户运行程序后,通过文件自动检测认证状态,如果未经认证,就需要注册。注册过程是用户将程序运行后显示的机器码(C盘的卷序号)发回给管理员,管理员对机器
本文向大家介绍springboot实现注册加密与登录解密功能(demo),包括了springboot实现注册加密与登录解密功能(demo)的使用技巧和注意事项,需要的朋友参考一下 前情提要:本demo是基于springboot+mybatis-plus实现加密,加密为主,全局异常处理,日志处理为辅,而登录密码加密是每个项目中必须要的,密码不可能明文存入数据,这样没有安全性。 涉及的功能,全局异常处
问题内容: 我正在使用JConsole访问我的应用程序MBean,并且使用了password.properties文件。但是根据Sun的规范,此文件仅包含明文格式的密码。 现在,我想对密码进行加密并将其用于JConsole的JMX用户身份验证(“远程”部分中的“用户名”和“密码”字段)。我可以使用任何预定义的加密逻辑或自己的加密算法。 是否有人知道将这种纯文本密码更改为加密密码,这样JMX Fra
本文向大家介绍python实现简单加密解密机制,包括了python实现简单加密解密机制的使用技巧和注意事项,需要的朋友参考一下 本文使用python实现一个简单的加密解密机制。 描述:结合26个字母、以一个单词作为秘钥,使用python实现简单的加密解密机制 秘钥:大写的英文字符串 明文:包含空格、大小写字母、数字等的字符串 代码实现: 运行结果: # python jiami.py 秘钥:ZD
本文向大家介绍PHP实现的DES加密解密实例代码,包括了PHP实现的DES加密解密实例代码的使用技巧和注意事项,需要的朋友参考一下 本文实例讲述了PHP实现的DES加密解密实例。分享给大家供大家参考,具体如下: 更多关于PHP相关内容感兴趣的读者可查看本站专题:《php加密方法总结》、《PHP运算与运算符用法总结》、《PHP网络编程技巧总结》、《PHP基本语法入门教程》、《php操作office文