python 实现软件激活码验证

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)   

  • 2
    点赞
  • 16
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论
### 回答1: 为了使用Python的Flask框架创建QQ邮箱验证注册网站,您需要遵循以下步骤: 1. 安装Flask: 使用pip安装flask框架,在命令行中输入“pip install flask” 2. 创建网站模板: 使用HTML和CSS创建网站模板,包括注册表单和验证页面 3. 创建Flask应用程序: 创建一个名为app.py的文件,使用Flask创建应用程序实例 4. 处理表单数据: 使用Flask的request对象处理表单数据,并将其存储在数据库中 5. 验证邮箱: 验证用户输入的邮箱地址是否有效,可以使用Python的email库进行验证 6. 发送验证邮件: 使用SMTP库发送验证邮件到用户的邮箱地址 7. 验证邮件中的链接: 在用户点击邮件中的链接时,验证其有效性并将其帐户激活。 请注意,这只是一个大致的步骤,还需要进行更多的编码来实现完整的功能。 ### 回答2: 使用Python的Flask框架可以很方便地编写一个QQ邮箱验证注册的网站。 首先,我们需要导入Flask模块和相关扩展,如下所示: ``` from flask import Flask, render_template, request from flask_wtf import FlaskForm from wtforms import StringField, SubmitField from wtforms.validators import Email, DataRequired, EqualTo ``` 然后,创建一个Flask应用程序: ``` app = Flask(__name__) app.config['SECRET_KEY'] = 'your_secret_key' ``` 接下来,定义一个表单类来处理注册表单的验证: ``` class RegistrationForm(FlaskForm): email = StringField('Email', validators=[DataRequired(), Email()]) password = StringField('Password', validators=[DataRequired()]) confirm_password = StringField('Confirm Password', validators=[DataRequired(), EqualTo('password')]) submit = SubmitField('Register') ``` 然后,定义一个用于处理注册请求的路由: ``` @app.route('/register', methods=['GET', 'POST']) def register(): form = RegistrationForm() if form.validate_on_submit(): # 注册逻辑,验证邮箱是否可注册 return 'Registration successful!' return render_template('register.html', form=form) ``` 最后,创建一个register.html的模板文件,用于显示注册页面并处理表单提交: ``` <!DOCTYPE html> <html> <head> <title>Register</title> </head> <body> <h1>Register</h1> <form method="POST" action="{{ url_for('register') }}"> {{ form.csrf_token }} {{ form.email.label }} {{ form.email() }} {{ form.password.label }} {{ form.password() }} {{ form.confirm_password.label }} {{ form.confirm_password() }} {{ form.submit() }} </form> </body> </html> ``` 以上就是使用Python的Flask框架编写一个QQ邮箱验证注册网站的基本步骤。当用户访问/register时,会展示注册表单页面,用户填写并提交表单时会进行相应的验证操作,确保邮箱和密码的合法性,并进行注册逻辑处理。 ### 回答3: 使用Python的Flask框架编写一个QQ邮箱验证注册网站可以按照以下几个步骤进行: 1. 安装Flask:首先确保已经安装了Python和pip,然后使用`pip install flask`命令来安装Flask框架。 2. 创建Flask应用:在Python项目文件夹中创建一个名为app.py的文件,引入Flask并创建一个Flask应用: ```python from flask import Flask app = Flask(__name__) ``` 3. 定义注册页面: ```python @app.route('/register', methods=['GET', 'POST']) def register(): if request.method == 'POST': email = request.form['email'] # 将邮箱进行验证,例如通过发送验证邮件或者其他方式验证 # 验证成功后执行注册逻辑 return 'Registration successful!' return ''' <form method="post"> <label for="email">Email:</label> <input type="email" id="email" name="email" required><br><br> <input type="submit" value="Register"> </form> ''' ``` 4. 运行应用: ```python if __name__ == '__main__': app.run() ``` 5. 启动应用:在命令行中运行`python app.py`命令,Flask将会在本地启动一个服务器,可以通过访问http://127.0.0.1:5000/register来访问注册页面。 以上是一个简单的QQ邮箱验证注册网站的示例,可以根据实际需求进行扩展和完善。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

寰宇C++

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值