CN116318982B - 一种基于license的待授权产品软件激活方法及电子设备 - Google Patents

一种基于license的待授权产品软件激活方法及电子设备 Download PDF

Info

Publication number
CN116318982B
CN116318982B CN202310260645.8A CN202310260645A CN116318982B CN 116318982 B CN116318982 B CN 116318982B CN 202310260645 A CN202310260645 A CN 202310260645A CN 116318982 B CN116318982 B CN 116318982B
Authority
CN
China
Prior art keywords
key
array
authorized
product
software
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN202310260645.8A
Other languages
English (en)
Other versions
CN116318982A (zh
Inventor
吴光晟
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Shenzhen Yintuo Technology Co ltd
Original Assignee
Shenzhen Yintuo Technology Co ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Shenzhen Yintuo Technology Co ltd filed Critical Shenzhen Yintuo Technology Co ltd
Priority to CN202310260645.8A priority Critical patent/CN116318982B/zh
Publication of CN116318982A publication Critical patent/CN116318982A/zh
Application granted granted Critical
Publication of CN116318982B publication Critical patent/CN116318982B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/06Network architectures or network communication protocols for network security for supporting key management in a packet data network
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/30Authentication, i.e. establishing the identity or authorisation of security principals
    • G06F21/44Program or device authentication
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/30Authentication, i.e. establishing the identity or authorisation of security principals
    • G06F21/45Structures or tools for the administration of authentication
    • G06F21/46Structures or tools for the administration of authentication by designing passwords or checking the strength of passwords
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/04Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
    • H04L63/0428Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/08Network architectures or network communication protocols for network security for authentication of entities
    • H04L63/083Network architectures or network communication protocols for network security for authentication of entities using passwords
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/10Network architectures or network communication protocols for network security for controlling access to devices or network resources
    • H04L63/108Network architectures or network communication protocols for network security for controlling access to devices or network resources when the policy decisions are valid for a limited amount of time

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Hardware Design (AREA)
  • General Engineering & Computer Science (AREA)
  • Computing Systems (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Storage Device Security (AREA)

Abstract

本发明涉及软件授权技术领域,具体公开了一种基于license的待授权产品软件激活方法及电子设备,方法包括:服务器接收第一密钥,根据第一密钥以及预设的激活码生成策略生成激活码,将激活码向客户端发送;客户端运行待授权产品软件,并根据预设的密钥生成策略生成第一密钥,接收激活码并分离出所述第一密钥、第二授权天数;对比license文件中的加密信息以及激活码中的第一密钥,若一致则激活成功。本发明在已授权产品软件被复制到其他设备的情况下再登录会验证失败,需重新激活才能继续使用,而激活码也只在对应的第一密钥下使用才有效,防止激活码以及license文件通用而导致软件被破解激活,从而杜绝了软件被盗用的情况发生,保护了软件运营商的权益。

Description

一种基于license的待授权产品软件激活方法及电子设备
技术领域
本发明涉及软件授权技术领域,尤其涉及一种基于license的待授权产品软件激活方法及电子设备。
背景技术
互联网的逐渐普及和快速发展极大的改变了人类的工作和生活方式。软件授权许可技术也开始与互联网技术全面结合,达到了方便使用、节省成本和提高效率的目的。基于互联网的软件授权许可技术与额外硬件设备,如加密锁等的保护技术相比,有很多的优势,例如:(1)能够大大节约硬件、存储、物流、生产和管理成本;(2)可以实现软件的网络电子化发行,下载试用和激活都非常方便和快捷。(3)方便对软件授权进行统一管理,有助于提升管理水平和改善用户体验;(4)可以对软件许可设置定期网络验证属性以提高保护的安全强度,并使授权可跟踪、可管理。
一般来说,开发商自己开发和维护的软件许可授权系统存在不少问题:(1)非专业人士开发,安全性上存在很大的漏洞;(2)不方便使用,难以实现灵活的授权控制,管理和统计功能也非常简单或者没有;(3)很可能是为了解决眼前的问题而推出的短期方案,并在今后因安全性、稳定性和可管理性等问题产生远远超过预期的持续投入;(4)不能适应市场的快速变化所带来的对软件授权模式的新需求。市面上软件产品常用的license机制主要为以下几种:对运行的设备进行限制、对用户数进行限制、对使用时间进行限制;License的验证方式主要有以下几种:密钥、注册码、联机激活等。但现有采用license机制的软件仍然会出现软件被破解盗用的情况。
因此,本领域人员亟需寻找一种新的技术方案来解决上述的问题。
发明内容
针对现有技术中的技术问题,本发明提供一种基于license的待授权产品软件激活方法及电子设备。
本发明包括一种基于license的待授权产品软件激活方法,方法包括:
服务器接收第一密钥;第一密钥为客户端运行待授权产品软件时根据预设的密钥生成策略生成;
根据第一密钥以及预设的激活码生成策略生成激活码;
将激活码向客户端发送;
其中,激活码生成策略包括:
生成第二随机数组;
设定第二授权天数;
将第二随机数组和第二授权天数填充到第一密钥中,得到第一数组;
根据第一数组以及预设的校验码生成策略生成校验码;
根据预设的校验数选取策略以及校验码得出校验数;
将校验数填充到第一数组中,得到第二数组;
根据预设密码本将第二数组的数字转换为大写字母,并生成为激活码。
进一步的,将第二随机数组和第二授权天数填充到第一密钥中,得到第一数组,包括:
第一密钥共包含15个数字,分为5组,表示为:xxx.xxx.xxx.xxx.xxx;
第二随机数组包含5个随机数字a,填充到第一密钥中为:xxxa.xxxa.xxxa.xxxa.xxxa;
第二授权天数包含3个数字b,填充到第一密钥中为:xxxa.xbxxa.xbxxa.xbxxa.xxxa;
将xxxa.xbxxa.xbxxa.xbxxa.xxxa作为第一数组。
进一步的,根据第一数组以及预设的校验码生成策略生成校验码,包含:
校验码为:
Code=(xxxa*f1)+(xbxxa*f2)+(xbxxa*f3)+(xbxxa*f4)+(xxxa*f5);
其中,f1、f2、f3、f4、f5为正整数。
进一步的,校验数选取策略包括:
计算校验码除以设定除数所得的余数,设定除数为不大于100的整数;
取余数的十位数字与个位数字,作为两个校验数。
进一步的,将校验数填充到第一数组中,得到第二数组,包括:
第二数组为:xxxac.xbxxa.xbxxa.xbxxa.xxxac;其中,c为校验数。
本发明还包括一种基于license的待授权产品软件激活方法,方法包括:
客户端运行待授权产品软件,并根据预设的密钥生成策略生成第一密钥;
将第一密钥以及激活日期、第一授权天数、MAC地址、产品代码、客户ID进行组合后通过预设的第一加密策略进行加密得到加密信息,并存储在license文件中;
将第一密钥向服务器发送;
接收激活码;激活码为服务器根据第一密钥以及预设的激活码生成策略生成;激活码生成策略包括:生成第二随机数组;设定第二授权天数;将第二随机数组和第二授权天数填充到第一密钥中,得到第一数组;根据第一数组以及预设的校验码生成策略生成校验码;根据预设的校验数选取策略以及校验码得出校验数;将校验数填充到第一数组中,得到第二数组;根据预设密码本将第二数组的数字转换为大写字母,并生成为激活码;
根据密码本将激活码中的大写字母转换为数字,并分离出第一密钥、第二授权天数;
对存储在license文件中的加密信息进行解密,并对比加密信息以及激活码中的第一密钥是否一致,若否,则激活失败;
若是,则激活成功;
根据密钥生成策略生成第二密钥,并将第二密钥、激活日期、第二授权天数、MAC地址、产品代码、客户ID进行组合后通过预设的第一加密策略进行加密得到新的加密信息,并更新存储在license文件中。
进一步的,根据预设的密钥生成策略生成第一密钥,包括:
获取客户ID以及产品代码,并生成第一随机数组;
根据预定组合方式,将客户ID、产品代码以及第一随机数组进行组合,得到第一密钥。
进一步的,方法还包括:客户端登录已授权产品软件并进行验证;
包括:
客户端登录已授权产品软件,并解密license文件中存储的加密信息;
对客户ID进行认证,若认证通过,则
对产品代码进行认证,若认证通过,则
对MAC地址进行认证,若认证通过,则验证通过;
若认证失败,则验证失败。
进一步的,还包括:
产品软件自动更新存储在license文件中的加密信息。
本发明还提供一种电子设备,包括:
存储器,用于存储计算机程序;
处理器,用于执行计算机程序时实现如上述的待授权产品软件激活方法。
本发明的基于license的待授权产品软件激活方法及电子设备,服务器根据预设的激活码生成策略对客户端发送的第一密钥进行处理,通过将生成的随机数组以及设定的授权天数填充到第一密钥中得到第一数组,再根据校验码生成策略、校验数选取策略以及第一数组得出校验数,将校验数填充至第一数组中得到第二数组后,按照密码本对第二数组的数字转换为大写字母,从而生成包含有第一密钥和授权天数的激活码;客户端根据激活码中包含的第一密钥和license文件中存储的加密信息中包含的第一密钥进行对比,只有完全一致才会激活成功,激活成功之后还能够在客户端登录产品软件时进行验证,只有客户ID、产品代码以及MAC地址完全一致才能够验证通过,在已授权产品软件被复制到其他设备的情况下再登录则会验证失败,需重新激活才能继续使用,而激活码也只在对应的第一密钥下使用才有效,防止激活码以及license文件通用而导致软件被破解激活,从而杜绝了软件被盗用的情况发生,保护了软件运营商的权益。
附图说明
为了更清楚的说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单的介绍,显而易见的,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其它附图。
图1为本发明实施例的基于license的待授权产品软件激活方法的步骤流程图(一);
图2为本发明实施例的基于license的待授权产品软件激活方法的步骤流程图(二);
图3为本发明实施例的基于license的待授权产品软件激活方法的步骤流程图(三);
图4为本发明实施例的基于license的待授权产品软件激活方法的步骤流程图(四);
图5为本发明实施例的基于license的待授权产品软件激活方法的步骤流程图(五);
图6为本发明实施例的基于license的待授权产品软件激活方法的步骤流程图(六);
图7为本发明实施例的基于license的待授权产品软件激活方法的步骤流程图(七);
图8为本发明实施例的电子设备的结构组成图。
具体实施方式
下面将结合本发明中的附图,对本发明实施例中的技术方案进行清楚、完整的描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通的技术人员在没有做出创造性劳动的前提下所获得的所有其它实施例,都属于本发明的保护范围。
本发明实施例包括一种基于license的待授权产品软件激活方法,如图1所示,本实施例的执行主体为客户端,具体方法包括以下步骤:
步骤S101:运行待授权产品软件,并根据预设的密钥生成策略生成第一密钥。
本实施例的步骤S101中,根据预设的密钥生成策略生成第一密钥,如图2所示,包括:
步骤S1011:获取客户ID以及产品代码,并生成第一随机数组。
客户ID为软件产品运营方为软件产品使用方分配的代码,产品代码是软件产品运营方为软件产品分配的代码,第一随机数组由客户端运行待授权产品软件时随机生成。本发明实施例不具体限定客户ID、产品代码以及第一随机数组所包含的数字的数量,后续实施例仅作为示例进行说明,并不是对本实施例范围的限定。
步骤S1012:根据预定组合方式,将客户ID、产品代码以及第一随机数组进行组合,得到第一密钥。
假设客户ID和产品代码均由3个数字组成,生成的第一随机数组共包含9个数字,总共为15个数字。预定组合方式多种多样,既可以是三部分数字依次排列组合,也可以是交叉组合,此处不进行限定。
步骤S102:将第一密钥以及激活日期、第一授权天数、MAC地址、产品代码、客户ID进行组合后通过预设的第一加密策略进行加密得到加密信息,并存储在license文件中。
在软件产品还未激活的步骤S102中,激活日期为客户端设备的机器日期,第一授权天数为0,MAC地址、产品代码、客户ID为已知信息,将这些信息组合之后进行加密得到加密信息,该加密信息被存储在license文件中,用于后续步骤的验证。本实施例不限定信息加密的具体方式,本领域技术人员可采用现有的信息加密方式实现。
步骤S103:将第一密钥向服务器发送。
待授权产品软件运行时生成的第一密钥除了向服务器发送之外,还可以显示在软件运行的界面上。
服务器在收到第一密钥之后根据第一密钥以及预设的激活码生成策略生成激活码,具体的,服务器在进行待授权产品软件激活的过程中,如图3所示,需实现以下步骤:
步骤S201:接收第一密钥。
服务器收到的第一密钥是客户端通过前述步骤S101,即运行待授权产品软件时根据预设的密钥生成策略生成的。
步骤S202:根据第一密钥以及预设的激活码生成策略生成激活码。
具体的,如图4所示,本实施例中的激活码生成策略包括以下步骤:
步骤S2021:生成第二随机数组。
第二随机数组为服务器随机生成,可包含5个数字。
步骤S2022:设定第二授权天数。
待授权产品软件的使用可分为两种类型,即试用型和永久授权型,本实施例可设定第二授权天数包含三个数字,试用型所对应的第二授权天数可表示为001~365,即试用天数为1天至365天(1年),而永久授权型可通过999来表示,用以和试用型进行区分。本实施例的第二授权天数由服务器自行设定,可以由产品软件运营方预先设置一个机制,例如针对某些客户ID可永久授权,某些客户ID可试用90天(3个月)等。
步骤S2023:将第二随机数组和第二授权天数填充到第一密钥中,得到第一数组。
具体的,本步骤包括:
结合前述实施例,第一密钥共包含15个数字,分为5组,每组3个,表示为:xxx.xxx.xxx.xxx.xxx;
第二随机数组包含5个随机数字a,填充到第一密钥中为:xxxa.xxxa.xxxa.xxxa.xxxa;
第二授权天数包含3个数字b,填充到第一密钥中为:xxxa.xbxxa.xbxxa.xbxxa.xxxa;
将xxxa.xbxxa.xbxxa.xbxxa.xxxa作为第一数组。
第一数组中的x、a、b均取自数字0~9。
为了便于理解,以下举实例进行说明:
第一密钥表示为:123.123.123.123.123;第二随机数组包含5个随机数字,分别为1、0、1、0、1,填充到第一密钥中为:1231.1230.1231.1230.1231;第二授权天数包含3个数字,分别为9、9、9,填充到第一密钥中为:1231.19230.19231.19230.1231,并以此作为第一数组。需要说明的是,本实施例此处所列的数字仅为示例,并不代表在具体实施时需按照一定的规律进行数字的选取。
步骤S2024:根据第一数组以及预设的校验码生成策略生成校验码。
校验码为:
Code=(xxxa*f1)+(xbxxa*f2)+(xbxxa*f3)+(xbxxa*f4)+(xxxa*f5);
其中,f1、f2、f3、f4、f5为正整数。
结合以上内容,本实施例此处的校验码Code=(1231*f1)+(19230*f2)+(19231*f3)+(19230*f4)+(1231*f5),假设f1、f2、f3、f4、f5的取值分别为1、2、2、4、5,则校验码Code=(1231*1)+(19230*2)+(19231*3)+(19230*4)+(1231*5)=180459。
步骤S2025:根据预设的校验数选取策略以及校验码得出校验数。
具体的,校验数选取策略包括:
计算校验码除以设定除数所得的余数,设定除数为不大于100的整数。
此处以100作为设定除数,则180459除以100所得余数为59。
取余数的十位数字与个位数字,作为两个校验数。
所以校验数为5和9。
步骤S2026:将校验数填充到第一数组中,得到第二数组。
具体的,将校验数填充到第一数组中,得到第二数组,包括:
第二数组为:xxxac.xbxxa.xbxxa.xbxxa.xxxac;其中,c为校验数。
上述实施例中得出的第一数组为1231.19230.19231.19230.1231,将校验数进行填充,得到第二数组为12315.19230.19231.19230.12319。
通过以上步骤所得的第二数组为25个数字组成。
步骤S2027:根据预设密码本将第二数组的数字转换为大写字母,并生成为激活码。
本实施例所用的密码本为数字与字母的对应表,具体对应关系可由本领域技术人员自行设定,此处不进行限定。
最终生成的激活码为25个大写字母组成。激活码生成之后执行步骤S203。
步骤S203:将激活码向客户端发送。
服务器生成激活码之后向客户端发送,客户端则继续执行步骤S104。
步骤S104:接收激活码。
客户端接收到激活码之后,继续执行步骤S105。
步骤S105:根据密码本将激活码中的大写字母转换为数字,并分离出第一密钥、第二授权天数。
此步骤所用密码本与服务器执行步骤S2027所用密码本为同一个。将激活码转换成数字之后,按照之前步骤的处理过程可知所有数字代表的含义,所以可对应分离出第一密钥和第二授权天数所对应的数字。
步骤S106:对存储在license文件中的加密信息进行解密,并对比加密信息以及激活码中的第一密钥是否一致。
若不一致,则待授权产品软件激活失败,需重新执行本发明实施例进行激活。
若一致,则待授权产品软件激活成功。
待授权产品软件激活成功后,还需执行步骤S107。
步骤S107:根据密钥生成策略生成第二密钥,并将第二密钥、激活日期、第二授权天数、MAC地址、产品代码、客户ID进行组合后通过预设的第一加密策略进行加密得到新的加密信息,并更新存储在license文件中。
软件激活成功后,生成新的加密信息并进行存储,
具体的,如图5所示,本发明实施例的方法还包括:
步骤S108:客户端登录已授权产品软件并进行验证。
如图6所示,具体为:
步骤S1081:登录已授权产品软件,并解密license文件中存储的加密信息。
步骤S1082:对客户ID进行认证。若认证通过,则执行步骤S1083。
若加密信息中包含的客户ID与已授权产品软件登录所用客户ID一致,则认证通过。
步骤S1083:对产品代码进行认证。若认证通过,则执行步骤S1084。
若加密信息中包含的产品代码与已授权产品软件的产品代码一致,则认证通过。
步骤S1084:对MAC地址进行认证,若认证通过,则步骤S1085:验证通过。
若加密信息中包含的MAC地址与客户端的MAC地址一致,则认证通过。
若以上任何环节认证失败,则执行步骤S1086:验证失败。
验证失败后,若想重新获得软件授权,则需再次执行本发明的实施例进行重新激活。
具体的,如图7所示,本发明实施例的方法还包括:
步骤S109:产品软件自动更新存储在license文件中的加密信息。
本发明还提供一种电子设备,如图8所示,包括:
存储器10,用于存储计算机程序;
处理器20,用于执行计算机程序时实现上述实施例的待授权产品软件激活方法。
本实施例的电子设备可用作产品软件运行的客户端设备,可以用作生成激活码的服务器设备,各自所实现的功能可参考前述实施例的说明,此处不进行赘述。
本申请实施例还提供一种客户端,包括:
存储器,用于存储计算机程序;
处理器,用于执行计算机程序时实现上述实施例的待授权产品软件激活方法的步骤。
本申请实施例还提供一种服务器,包括:
存储器,用于存储计算机程序;
处理器,用于执行计算机程序时实现上述实施例的待授权产品软件激活方法的步骤。
本申请实施例还提供一种计算机可读存储介质,计算机可读存储介质上存储有计算机程序,计算机程序被处理器执行时实现如以上实施例待授权产品软件激活方法的步骤。
该计算机可读存储介质可以包括:U盘、移动硬盘、只读存储器(Read-OnlyMemory,ROM)、随机存取存储器(Random Access Memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
本发明实施例的基于license的待授权产品软件激活方法及电子设备,服务器根据预设的激活码生成策略对客户端发送的第一密钥进行处理,通过将生成的随机数组以及设定的授权天数填充到第一密钥中得到第一数组,再根据校验码生成策略、校验数选取策略以及第一数组得出校验数,将校验数填充至第一数组中得到第二数组后,按照密码本对第二数组的数字转换为大写字母,从而生成包含有第一密钥和授权天数的激活码;客户端根据激活码中包含的第一密钥和license文件中存储的加密信息中包含的第一密钥进行对比,只有完全一致才会激活成功,激活成功之后还能够在客户端登录产品软件时进行验证,只有客户ID、产品代码以及MAC地址完全一致才能够验证通过,在已授权产品软件被复制到其他设备的情况下再登录则会验证失败,需重新激活才能继续使用,而激活码也只在对应的第一密钥下使用才有效,防止激活码以及license文件通用而导致软件被破解激活,从而杜绝了软件被盗用的情况发生,保护了软件运营商的权益。
以上借助具体实施例对本发明做了进一步描述,但是应该理解的是,这里具体的描述,不应理解为对本发明的实质和范围的限定,本领域内的普通技术人员在阅读本说明书后对上述实施例做出的各种修改,都属于本发明所保护的范围。

Claims (8)

1.一种基于license的待授权产品软件激活方法,其特征在于,所述方法包括:
服务器接收第一密钥;所述第一密钥为客户端运行待授权产品软件时根据预设的密钥生成策略生成;
根据所述第一密钥以及预设的激活码生成策略生成激活码;
将所述激活码向客户端发送;
其中,所述激活码生成策略包括:
生成第二随机数组;
设定第二授权天数;
将所述第二随机数组和所述第二授权天数填充到所述第一密钥中,得到第一数组;
根据所述第一数组以及预设的校验码生成策略生成校验码;
根据预设的校验数选取策略以及所述校验码得出校验数;
将所述校验数填充到所述第一数组中,得到第二数组;
根据预设密码本将所述第二数组的数字转换为大写字母,并生成为所述激活码;
将所述第二随机数组和所述第二授权天数填充到所述第一密钥中,得到第一数组,包括:
所述第一密钥共包含15个数字,分为5组,表示为:xxx.xxx.xxx.xxx.xxx;
所述第二随机数组包含5个随机数字a,填充到所述第一密钥中为:xxxa.xxxa.xxxa.xxxa.xxxa;
所述第二授权天数包含3个数字b,填充到所述第一密钥中为:xxxa.xbxxa.xbxxa.xbxxa.xxxa;
将xxxa.xbxxa.xbxxa.xbxxa.xxxa作为所述第一数组;
根据所述第一数组以及预设的校验码生成策略生成校验码,包含:
所述校验码为:
Code= (xxxa*f1)+(xbxxa*f2)+(xbxxa*f3) +(xbxxa*f4)+(xxxa*f5);
其中,f1、f2、f3、f4、f5为正整数。
2.如权利要求1所述的一种基于license的待授权产品软件激活方法,其特征在于,所述校验数选取策略包括:
计算校验码除以设定除数所得的余数,所述设定除数为不大于100的整数;
取所述余数的十位数字与个位数字,作为两个校验数。
3.如权利要求2所述的一种基于license的待授权产品软件激活方法,其特征在于,将所述校验数填充到所述第一数组中,得到第二数组,包括:
所述第二数组为:xxxac.xbxxa.xbxxa.xbxxa.xxxac;其中,c为所述校验数。
4.一种基于license的待授权产品软件激活方法,其特征在于,所述方法包括:
客户端运行待授权产品软件,并根据预设的密钥生成策略生成第一密钥;
将所述第一密钥以及激活日期、第一授权天数、MAC地址、产品代码、客户ID进行组合后通过预设的第一加密策略进行加密得到加密信息,并存储在license文件中;
将所述第一密钥向服务器发送;
接收激活码;所述激活码为服务器根据所述第一密钥以及预设的激活码生成策略生成;所述激活码生成策略包括:生成第二随机数组;设定第二授权天数;将所述第二随机数组和所述第二授权天数填充到所述第一密钥中,得到第一数组;根据所述第一数组以及预设的校验码生成策略生成校验码;根据预设的校验数选取策略以及所述校验码得出校验数;将所述校验数填充到所述第一数组中,得到第二数组;根据预设密码本将所述第二数组的数字转换为大写字母,并生成为所述激活码;
根据所述密码本将所述激活码中的大写字母转换为数字,并分离出所述第一密钥、第二授权天数;
对存储在license文件中的所述加密信息进行解密,并对比所述加密信息以及所述激活码中的第一密钥是否一致,若否,则激活失败;
若是,则激活成功;
根据所述密钥生成策略生成第二密钥,并将所述第二密钥、激活日期、第二授权天数、MAC地址、产品代码、客户ID进行组合后通过预设的第一加密策略进行加密得到新的加密信息,并更新存储在license文件中;
将所述第二随机数组和所述第二授权天数填充到所述第一密钥中,得到第一数组,包括:
所述第一密钥共包含15个数字,分为5组,表示为:xxx.xxx.xxx.xxx.xxx;
所述第二随机数组包含5个随机数字a,填充到所述第一密钥中为:xxxa.xxxa.xxxa.xxxa.xxxa;
所述第二授权天数包含3个数字b,填充到所述第一密钥中为:xxxa.xbxxa.xbxxa.xbxxa.xxxa;
将xxxa.xbxxa.xbxxa.xbxxa.xxxa作为所述第一数组;
根据所述第一数组以及预设的校验码生成策略生成校验码,包含:
所述校验码为:
Code= (xxxa*f1)+(xbxxa*f2)+(xbxxa*f3) +(xbxxa*f4)+(xxxa*f5);
其中,f1、f2、f3、f4、f5为正整数。
5.如权利要求4所述的一种基于license的待授权产品软件激活方法,其特征在于,根据预设的密钥生成策略生成第一密钥,包括:
获取客户ID以及产品代码,并生成第一随机数组;
根据预定组合方式,将所述客户ID、产品代码以及所述第一随机数组进行组合,得到所述第一密钥。
6.如权利要求4所述的一种基于license的待授权产品软件激活方法,其特征在于,还包括:
客户端登录已授权产品软件并进行验证;包括:
客户端登录已授权产品软件,并解密license文件中存储的加密信息;
对客户ID进行认证,若认证通过,则
对产品代码进行认证,若认证通过,则
对MAC地址进行认证,若认证通过,则验证通过;
若认证失败,则验证失败。
7.如权利要求4所述的一种基于license的待授权产品软件激活方法,其特征在于,还包括:
产品软件自动更新存储在license文件中的加密信息。
8.一种电子设备,其特征在于,包括:
存储器,用于存储计算机程序;
处理器,用于执行所述计算机程序时实现如权利要求4至7任一项所述的待授权产品软件激活方法。
CN202310260645.8A 2023-03-10 2023-03-10 一种基于license的待授权产品软件激活方法及电子设备 Active CN116318982B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202310260645.8A CN116318982B (zh) 2023-03-10 2023-03-10 一种基于license的待授权产品软件激活方法及电子设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202310260645.8A CN116318982B (zh) 2023-03-10 2023-03-10 一种基于license的待授权产品软件激活方法及电子设备

Publications (2)

Publication Number Publication Date
CN116318982A CN116318982A (zh) 2023-06-23
CN116318982B true CN116318982B (zh) 2023-11-17

Family

ID=86825296

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202310260645.8A Active CN116318982B (zh) 2023-03-10 2023-03-10 一种基于license的待授权产品软件激活方法及电子设备

Country Status (1)

Country Link
CN (1) CN116318982B (zh)

Citations (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1662418A2 (en) * 1995-02-13 2006-05-31 Intertrust Technologies Corporation Systems and methods for secure transaction management and electronic rights protection
CN103370688A (zh) * 2010-07-29 2013-10-23 尼尔默尔·朱萨尼 一种由简单用户密码生成多因素个性化服务器强密钥的系统及其方法
WO2015063278A1 (en) * 2013-11-04 2015-05-07 Vitisco Nv Method of approving a transaction
CN105099697A (zh) * 2014-05-16 2015-11-25 太阳风环球有限责任公司 可重用的许可证激活密钥
CN105656898A (zh) * 2016-01-07 2016-06-08 广西英腾教育科技股份有限公司 一种基于多维度信息的激活码数据处理系统及方法
CN106919810A (zh) * 2017-02-22 2017-07-04 广州广电运通金融电子股份有限公司 注册码生成方法及装置、软件注册方法及装置
CN110996319A (zh) * 2019-11-01 2020-04-10 北京握奇智能科技有限公司 一种对软件服务做激活授权管理的系统及方法
CN114154139A (zh) * 2021-11-22 2022-03-08 麒麟软件有限公司 一种系统版权激活方法
CN114297587A (zh) * 2021-11-18 2022-04-08 宁波小匠物联网科技有限公司 一种物联网云部署中license的控制方法
CN115357870A (zh) * 2022-10-20 2022-11-18 杭州比智科技有限公司 一种基于软件完成的授权管控的方法及系统

Patent Citations (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1662418A2 (en) * 1995-02-13 2006-05-31 Intertrust Technologies Corporation Systems and methods for secure transaction management and electronic rights protection
CN103370688A (zh) * 2010-07-29 2013-10-23 尼尔默尔·朱萨尼 一种由简单用户密码生成多因素个性化服务器强密钥的系统及其方法
WO2015063278A1 (en) * 2013-11-04 2015-05-07 Vitisco Nv Method of approving a transaction
CN105099697A (zh) * 2014-05-16 2015-11-25 太阳风环球有限责任公司 可重用的许可证激活密钥
CN105656898A (zh) * 2016-01-07 2016-06-08 广西英腾教育科技股份有限公司 一种基于多维度信息的激活码数据处理系统及方法
CN106919810A (zh) * 2017-02-22 2017-07-04 广州广电运通金融电子股份有限公司 注册码生成方法及装置、软件注册方法及装置
CN110996319A (zh) * 2019-11-01 2020-04-10 北京握奇智能科技有限公司 一种对软件服务做激活授权管理的系统及方法
CN114297587A (zh) * 2021-11-18 2022-04-08 宁波小匠物联网科技有限公司 一种物联网云部署中license的控制方法
CN114154139A (zh) * 2021-11-22 2022-03-08 麒麟软件有限公司 一种系统版权激活方法
CN115357870A (zh) * 2022-10-20 2022-11-18 杭州比智科技有限公司 一种基于软件完成的授权管控的方法及系统

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
"基于注册码的软件授权保护系统的设计与实现";何永瑾;《信息技术与网络安全》;全文 *
"DREAM: On the reaction delay in large scale wireless networks with mobile sensors";ShaoJie Tang等;《2010 IEEE 18th International Workshop on Quality of Service》;全文 *
"一种加密软件注册码的研究及实现";张玉刚;《中国优秀硕士学位论文全文数据库》;全文 *

Also Published As

Publication number Publication date
CN116318982A (zh) 2023-06-23

Similar Documents

Publication Publication Date Title
US6044155A (en) Method and system for securely archiving core data secrets
US8843745B2 (en) Methods of authorizing a computer license
EP1636664B1 (en) Proof of execution using random function
US7043636B2 (en) Data integrity mechanisms for static and dynamic data
US10348706B2 (en) Assuring external accessibility for devices on a network
US10771467B1 (en) External accessibility for computing devices
CN101142599A (zh) 基于硬件识别的数字权利管理系统
JP2001175468A (ja) ソフトウエア使用制御方法とその装置
WO2006033975A2 (en) Electronic software distribution method and system using a digital rights management method based on hardware identification
CN107920052B (zh) 一种加密方法及智能装置
WO2005045550A2 (en) Password recovery system and method
US7805616B1 (en) Generating and interpreting secure and system dependent software license keys
CN110996319B (zh) 一种对软件服务做激活授权管理的系统及方法
CN115374405A (zh) 软件授权方法、许可授权方法、装置、设备和存储介质
CN112883396B (zh) 可信密码模块安全管理方法及系统
US20050246285A1 (en) Software licensing using mobile agents
CN116318982B (zh) 一种基于license的待授权产品软件激活方法及电子设备
JP2002530930A (ja) ローミング中のユーザに認証信用証明を安全に配布するための方法および装置
AU2020204174B2 (en) Assuring external accessibility for devices on a network
CN112052018B (zh) 一种应用程序的安装方法及装置
US9467427B2 (en) Methods and systems for authorizing and deauthorizing a computer license
CN116167020A (zh) 一种软件授权方法及系统
CN116670672A (zh) 排他性自托管方法及装置
CN113742656A (zh) 软件授权认证方法及装置
WO2009018513A1 (en) Systems and methods for implementing a mutating lock box

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant