软件密钥注册机方案全套(生成机器码、生成注册码、应用软件注册)

1.应用场景

        我们经常见到一些商业软件会在你第一次打开时会给你提供机器码信息并要求你输入注册码,这时你就需要向软件的开发商提供机器码,然后开发商根据你提供的机器码生成注册码,你拿到注册码后在软件中输入注册码即可使用软件。

2.相关概念

        机器码指的是软件根据计算机的硬件信息(例如cpu、内存和主板序列号等),按照一定的算法生成的一串无规律的字符串

        注册码指的是使用机器码在注册机上按照一定的算法生成的无规律且不重复的字符串。注意这里所说的不重复指的是不同机器码生成的注册码不重复。

3.基本思路

3.1 注册机部分

3.1.1获取计算机硬件信息

        wmic(Windows Management Instrumentation,Windows管理工具),提供了从命令行接口和批命令脚本执行系统管理的支持。可以打开cmd在其中输入如下命令,获取相关的信息。

//获取cpu名称:wmic cpu get Name

//获取cpu核心数:wmic cpu get NumberOfCores

//获取cpu线程数:wmic cpu get NumberOfLogicalProcessors

//查询cpu序列号:wmic cpu get processorid

//查询主板序列号:wmic baseboard get serialnumber

//查询BIOS序列号:wmic bios get serialnumber

//查看硬盘序列号:wmic diskdrive get serialnumber

//获取主板序唯一标识:wmic csproduct get uuid

//查询网卡连接唯一标识:Wmic Path Win32_NetworkAdapter get GUID

//查询网卡物理地址:wmic Path Win32_NetworkAdapter get MACAddress

//查询网卡是否启用:wmic Path Win32_NetworkAdapter get NetEn

3.1.2 生成机器码

        根据获得的硬件信息,生成机器码。

3.1.3 生成注册码(密钥/激活码)

注册码包含授权时间的信息

        QCryptographicHash类提供了生成密码散列的方法。该类可以用于生成二进制或文本数据的加密散列值。目前支持MD4、MD5、SHA-1、SHA-224、SHA-256、SHA-384和SHA-512

        一般用QCryptographicHash的MD5,MD5属于单向加密(但严格讲不是一种加密算法而是一种摘要算法.

        另一种生成方法是结合SHA-1和MD5的方法.

        方法3:用MD5加密+AES加密.

3.2 客户端软件注册

        加密算法的种类主要三大类:哈希算法(即单项加密)、对称加密算法、非对称加密算法,根据采用的加密类型,对应不同的实现逻辑,比如哈希算法的MD5、对称加密算法AES、非对称加密算法RSA。

4.使用说明

        4.1.用户双击userinfo.exe生成用户信息,程序目录下生成userinfo.db文件。

        双击打开"userinfo"可查看机器码

        4.2.将userinfo文件发给注册机供应商,或者直接发送userinfo文件里的uuid字符串(例:/nbsvesrv5438VuA==)。

        4.3.注册机供应商用注册机生成注册文件(导入userinfo文件或者直接输入userinfo文件里的字符串到机器码栏),将注册文件(注意名称必须为registryinfo.db)发给用户。

        注册机供应商本地记录存档的内容:

        4.4.用户将注册文件registryinfo.db(不可更改名称)放到程序目录下,即可正常打开软件。

        4.5.售后技术支持

        用户删除、修改电脑记录软件使用日期的注册表——远程支持,先确定用户电脑当前日期正确,快捷键ctrl+y,检查注册表的故障原因;快捷键ctrl+alt+q,实现用户电脑记录软件使用时间的注册表重置为当前日期。

        用户删除、修改软件的注册文件——开发端重新生成注册文件发给客户。

6.本注册机特点

        多种加密算法加持,包括md5、AES及自定义加密等算法,可以有效防止用户删除注册文件、修改电脑时间、修改注册文件等等,安全等级高。

        使用和管理非常方便。

7.更多了解请联系daboluow@163.com

  • 8
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
好的,我可以提供一个简单的本地软件授权案例,包括机器码生成和授权码生成。请注意,此案例仅供参考,具体实现方式可能因应用需求和场景而有所不同。 1. 机器码生成 机器码是本地授权的一部分,用于识别授权的机器。以下是一个示例函数,用于生成机器码: ```python import uuid import hashlib def generate_machine_code(): # 获取机器唯一标识符 machine_id = str(uuid.uuid1()) # 对机器唯一标识符进行哈希计算,得到固定长度的机器码 machine_code = hashlib.sha256(machine_id.encode()).hexdigest() return machine_code ``` 该函数使用Python内置的uuid模块获取机器唯一标识符,并使用hashlib模块对其进行哈希计算。最后,返回一个固定长度的机器码。 2. 授权码生成 授权码是根据机器码生成的,用于验证授权的有效性。以下是一个示例函数,用于生成授权码: ```python import hashlib def generate_license_code(machine_code, secret_key): # 将机器码密钥进行拼接 key = machine_code + secret_key # 对拼接后的字符串进行哈希计算,得到固定长度的授权码 license_code = hashlib.sha256(key.encode()).hexdigest() return license_code ``` 该函数将机器码密钥进行拼接,并使用hashlib模块对其进行哈希计算。最后,返回一个固定长度的授权码。 3. 整合机器码生成和授权码生成 以下是一个示例程序,将机器码生成和授权码生成整合在一起: ```python import uuid import hashlib def generate_machine_code(): # 获取机器唯一标识符 machine_id = str(uuid.uuid1()) # 对机器唯一标识符进行哈希计算,得到固定长度的机器码 machine_code = hashlib.sha256(machine_id.encode()).hexdigest() return machine_code def generate_license_code(machine_code, secret_key): # 将机器码密钥进行拼接 key = machine_code + secret_key # 对拼接后的字符串进行哈希计算,得到固定长度的授权码 license_code = hashlib.sha256(key.encode()).hexdigest() return license_code if __name__ == '__main__': # 生成机器码 machine_code = generate_machine_code() # 生成授权码 secret_key = 'my_secret_key' license_code = generate_license_code(machine_code, secret_key) # 打印机器码和授权码 print('Machine Code:', machine_code) print('License Code:', license_code) ``` 该程序首先调用generate_machine_code()函数生成机器码,再调用generate_license_code()函数生成授权码。最后,打印机器码和授权码。请注意,此示例程序使用了一个简单的密钥,实际应用中应该使用更加安全的密钥来保护授权信息。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值