注册码的生成方法、控制方法、终端设备及存储介质与流程

文档序号:31147279发布日期:2022-08-17 00:16阅读:68来源:国知局
注册码的生成方法、控制方法、终端设备及存储介质与流程

1.本技术涉及计算机技术领域,尤其涉及一种注册码的生成方法、软件许可控制方法、终端设备及存储介质。


背景技术:

2.用户拿到软件编程人员设计的软件后,需要采用注册码对软件进行注册,然后才能正常使用软件的全部或者部分功能。
3.注册码也是防止盗版软件的最重要手段之一。对于通用性质的软件,破解注册码产生的盗版软件只会产生版权纠纷、民事诉讼等问题。但是对于涉及患者医用治疗安全的医疗软件,若因使用破解版本的盗版软件而严重损害患者的生命健康安全,这会触及刑事诉讼等严重后果。因此保障注册码的安全性和唯一性成为维护正版软件使用合法性以及维护生产商知识产权权利的关键因素。
4.相关技术中,通常利用设备的序列号等相关信息生成注册码,设备的序列号等相关信息与注册码之间有直观的关联性,这使得黑客很容易根据设备的序列号等相关信息破解得到注册码,因此相关技术中注册码的生成方式存在比较大的安全风险。


技术实现要素:

5.基于此,本技术提供一种注册码的生成方法、软件许可控制方法、终端设备及存储介质,能够在保证生成的注册码的唯一性的基础上提高其安全性,能够有效防止对软件的恶意注册。
6.第一方面,本技术提供了一种注册码的生成方法,应用于终端设备,所述方法包括:
7.获取所述终端设备的铭牌数据;
8.根据所述铭牌数据生成机器码;
9.对所述机器码中的字符进行乱序处理,生成第一次密文序列;
10.生成多个随机字符,将所述多个随机字符插入至所述第一次密文序列,生成第二次密文序列;
11.将授权截止时间添加至所述第二次密文序列的后缀,生成注册码。
12.第二方面,本技术提供了一种软件许可控制方法,应用于终端设备,所述方法包括:
13.获取所述终端设备的铭牌数据;
14.根据所述铭牌数据生成机器码;
15.对所述机器码中的字符进行乱序处理,生成第一次密文序列;
16.生成多个随机字符,将所述多个随机字符插入至所述第一次密文序列,生成第二次密文序列;
17.将授权截止时间添加至所述第二次密文序列的后缀,生成第一注册码;
18.根据所述第一注册码和接收到的用户输入的第二注册码,确定所述用户是否合法。
19.第三方面,本技术提供了一种终端设备,所述终端设备包括:处理器和存储器所述处理器和所述存储器相互连接,所述存储器用于存储计算机程序,所述处理器用于执行所述计算机程序并在执行所述计算机程序时,实现如上所述的注册码的生成方法,或者实现如上所述的软件许可控制方法。
20.第四方,本技术提供了一种计算机存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理执行时使所述处理器实现如上所述的注册码的生成方法,或者实现如上所述的软件许可控制方法。
21.本技术实施例由于利用终端设备的铭牌数据依次生成第一次密文序列、第二次密文序列,然后生成注册码,生成的注册码与终端设备一一对应,确保注册码的唯一性,并且进行两道加密步骤,能够切断注册码与终端设备的铭牌数据信息之间的数据关联性,提高注册码的加密安全性,防止黑客根据终端设备的铭牌数据对注册码进行暴力破解,能够极大地保障注册码的使用安全性和稳定性;本技术实施例中注册码的生成方法能够广泛地应用在终端设备中,生成的注册码能够有效地防止对软件进行恶意注册。
22.应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本技术。
附图说明
23.图1是本技术注册码的生成方法一实施例的流程示意图;
24.图2是本技术注册码的生成方法中输液泵的铭牌数据一实施例的示意图;
25.图3是本技术注册码的生成方法中机器码中字符调换位置一实施例的示意图;
26.图4是本技术注册码的生成方法中机器码中每个字符进行调换位置的规律一实施例的示意图;
27.图5是本技术软件许可控制方法一实施例的流程示意图;
28.图6是本技术终端设备一实施例的结构示意图。
具体实施方式
29.下面将结合本技术实施例中的附图,对本技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本技术一部分实施例,而不是全部的实施例。基于本技术中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本技术保护的范围。
30.附图中所示的流程图仅是示例说明,不是必须包括所有的内容和操作/步骤,也不是必须按所描述的顺序执行。例如,有的操作/步骤还可以分解、组合或部分合并,因此实际执行的顺序有可能根据实际情况改变。
31.当软件编程人员设计一个软件,到达用户的手中后,用户需要采用注册码对软件进行注册后,才能正常使用该软件的全部或者部分功能。
32.注册码也是防止盗版软件的最重要手段之一。市面上一些顶级黑客采用一些暴力破解方式,破解软件的注册码程序,进而产生很多破解版本的盗版软件。对于一些通用性质
的软件,破解注册码产生的盗版软件只会产生一些版权纠纷、民事诉讼等问题。但是对于医疗软件,这涉及到患者医用治疗安全,若因使用破解版本的盗版软件而严重损害患者的生命健康安全,这会触及一些刑事诉讼等严重后果。因此保障注册码的安全性和唯一性成为维护正版软件使用合法性以及维护生产商知识产权权利的关键因素。
33.在相关技术中,通常利用设备的序列号等相关信息生成注册码,序列号在这种方式生成的注册码中始终以某种顺序进行排列,当黑客获取到设备的序列号等相关信息,很容易通过暴力破解方式获取到注册码,进而破解软件。因此相关技术中注册码的生成方式未改变设备的序列号等相关信息与注册码之间直观的关联性,这使得黑客很容易根据设备的序列号等相关信息破解得到注册码,安全风险较大。
34.本技术实施例由于利用终端设备的铭牌数据依次生成第一次密文序列、第二次密文序列,然后生成注册码,生成的注册码与终端设备一一对应,确保注册码的唯一性,并且进行两道加密步骤,能够切断注册码与终端设备的铭牌数据信息之间的数据关联性,提高注册码的加密安全性,防止黑客根据终端设备的铭牌数据对注册码进行暴力破解,能够极大地保障注册码的使用安全性和稳定性;本技术实施例中注册码的生成方法能够广泛地应用在终端设备中,生成的注册码能够有效地防止对软件进行恶意注册。
35.为了能够更好地说明本技术实施例的方法,下文将展开详细的说明。
36.参见图1,图1是本技术注册码的生成方法一实施例的流程示意图,所述方法应用于终端设备,所述终端设备包括但不限于:台式电脑、手机、输液泵等等。为了能够更好地进行说明,下文以终端设备为输液泵为例,展开详细论述。
37.所述方法包括:步骤s101、步骤s102、步骤s103、步骤s104以及步骤s105
38.步骤s101:获取所述终端设备的铭牌数据。
39.步骤s102:根据所述铭牌数据生成机器码。
40.所述终端设备的铭牌数据包括但不限于:cpu序列号、硬盘序列号、cpu的额定电压等;以终端设备为输液泵为例,图2示出了输液泵的铭牌数据示意图。
41.当使用终端设备时,可以获取终端设备的铭牌数据;铭牌数据作为终端设备的唯一标识,根据铭牌数据生成机器码,那么机器码与终端设备这两者之间具有一一对应关系。
42.步骤s103:对所述机器码中的字符进行乱序处理,生成第一次密文序列。
43.乱序处理可以是指打乱当前的机器码的字符的排列顺序和排列位置。通过对机器码进行乱序处理后,能够扰乱机器码中的铭牌数据相关信息,避免黑客利用铭牌数据相关信息暴力求解注册码;机器码中的字符经过乱序处理后得到的第一次密文序列包含乱序的字符信息,能够切断第一次密文序列与铭牌数据之间的关联性。
44.步骤s104:生成多个随机字符,将所述多个随机字符插入至所述第一次密文序列,生成第二次密文序列。
45.比如,生成的多个随机字符包括:+=¥#@!&*?;将每个随机字符依次插入到第一次密文序列,那么得到的第二次密文序列就包含多个随机字符,通过在第一次密文序列中加入多个随机字符,能够增加第二次密文序列中字符的随机性,第二次密文序列具有更高的字符组成复杂性,被暴力破解的难度更大。
46.步骤s105:将授权截止时间添加至所述第二次密文序列的后缀,生成注册码。
47.授权截止时间代表注册码的注册有效期,当注册码的注册时间超过了授权截止时
间,则注册码属于失效过期状态,每个注册码都具有特定的有效期,在注册码中包括授权截止时间能够得到注册码的时间使用权限。
48.示例性的,若设定的授权截止时间为:2025年12月25日,第二次密文序列为:phsn#fj23!ysh&hjis+sc_ys,则将授权截止时间添加至第二次密文序列的后缀,生成的注册码为:phsn#fj23!ysh&hjis+sc_ys20251225,那么根据注册码就能够得到注册码的授权截止时间,用户能够便捷地获取到注册码注册后授权截止时间,给用户带来更佳的使用便捷性。
49.本技术实施例由于利用终端设备的铭牌数据依次生成第一次密文序列、第二次密文序列,然后生成注册码,生成的注册码与终端设备一一对应,确保注册码的唯一性,并且进行两道加密步骤,能够切断注册码与终端设备的铭牌数据信息之间的数据关联性,提高注册码的加密安全性,防止黑客根据终端设备的铭牌数据对注册码进行暴力破解,能够极大地保障注册码的使用安全性和稳定性;本技术实施例中注册码的生成方法能够广泛地应用在终端设备中,生成的注册码能够有效地防止对软件进行恶意注册。
50.在一实施例中,步骤s102,所述根据所述铭牌数据生成机器码,可以包括:若检测出所述铭牌数据属于未被注册的铭牌数据,则采用多个预设字符对所述铭牌数据进行填充,得到所述机器码,其中所述机器码的字符长度大于或者等于预设长度。
51.未被注册的铭牌数据是有效数据,已经被注册的铭牌数据为失效数据。为了保障注册码的使用规范性,终端设备与注册码之间具有一一对应性,铭牌数据作为终端设备的唯一身份标识,本技术实施例基于终端设备的铭牌数据进行加密后,生成注册码;因此本技术实施例会首先判断铭牌数据是否属于已经被注册的铭牌数据,若终端设备的铭牌数据属于已经被注册的铭牌数据,则终端设备的铭牌数据不能被重复注册,那么就不能根据铭牌数据进行加密,生成注册码;只有当终端设备的铭牌数据属于“未被注册的铭牌数据”,才会对终端设备的铭牌数据进行加密处理;当检测出铭牌数据不属于失效数据时,则采用多个预设字符(通常为特殊字符)对铭牌数据进行填充,填充后的机器码的字符长度大于或者等于预设长度。
52.通常的,机器码的字符长度越长,则机器码越复杂,但是对于机器码的加密步骤也就越复杂;因此本技术实施例设定预设长度,机器码的字符长度大于或者等于预设长度,能够防止机器码的字符长度太短,导致加密后的注册码太简单、安全风险太大的问题。
53.示例性的,若获取得到终端设备的铭牌数据为:mrhi7-1063y1processor,并且该铭牌数据不属于失效数据,该铭牌数据的字符长度为:21,其中预设长度为25,那么还需要采用4个预设字符对铭牌数据进行填充,若这4个预设字符为:“&+}!”,将这4个预设字符依次插入到铭牌数据中,填充后的铭牌数据为:mr+hi7-}106!3y1proc&essor,机器码为:mr+hi7-}106!3y1proc&essor,则机器码的长度为25。
54.本技术实施例通过对铭牌数据采用多个预设字符进行填充后,再对机器码进行加密时,可确保加密步骤的复杂性,避免加密步骤过于简化导致注册码过于简化的问题。
55.在一实施例中,步骤s105,所述将授权截止时间添加至所述第二次密文序列的后缀,生成注册码,可以包括:子步骤s105a1和子步骤s105a2。
56.子步骤s105a1:将授权截止时间添加至所述第二次密文序列的后缀,生成第三次密文序列。
57.子步骤s105a2:对所述第三次密文序列中的字符进行裁剪处理,生成注册码,其中
所述注册码的字符长度与所述机器码的字符长度相等。
58.由于在s104中,将多个随机字符插入至第一次密文序列,这相当于增加了第二次密文序列的字符长度,而且本技术实施例还会将授权截止时间添加至第二次密文序列的后缀,那么第三次密文序列的字符长度会大于机器码的字符长度;若第三次密文序列的字符长度太长,这会增加注册码的存储复杂性和软件注册验证时间;因此本技术实施例对第三次密文序列中的字符进行裁剪处理,裁剪后的第三次密文序列的字符长度与机器码的字符长度相等,这样就不会导致注册码的字符长度过长,保障注册码的使用便捷性。
59.示例性的,所述第三次密文序列为:qr+wi7-}1^.!3y1=r7c&$s0op76tr20251225,若机器码的字符长度为:25,第三次密文序列的字符长度为:37,37》25,则需要从第三次密文序列中裁剪12个字符,比如从第三次密文序列的前缀中裁剪12个字符,那么裁剪后的第三次密文序列为:3y1=r7c&$s0op76tr20251225,注册码为:3y1=r7c&$s0op76tr20251225,因此本技术实施例既能够保障在机器码加密过程中的复杂性,避免数据被窃取,又能够确保生成的注册码不会过于复杂,提高了注册码的使用便捷性。
60.在一实施例中,子步骤s105a2,所述对所述第三次密文序列中的字符进行裁剪处理,可以包括:将所述第三次密文序列中的多个不相邻、且不属于授权截止时间内的字符的目标字符删除。
61.目标字符可以是指需要从第三次密文序列中删除的字符。每个目标字符在第三次密文序列中具有特定的位置分布规律,比如多个目标字符都属于第三次密文序列中处于奇数位置的字符;比如第三次密文序列为:qr+wi7-}1^.!3y1=r7c&$s0op76tr20251225,机器码的字符长度为:25,则需要从第三次密文序列中裁剪12个字符,分别将处于第三次密文序列中第1个位置、第3个位置、第5个位置、第7个位置、第9个位置、第11个位置、第13个位置、第15个位置、第17个位置、第19个位置、第21个位置、第23个位置,这12个位置的字符作为目标字符,那么从第三次密文序列中删除多个目标字符后,注册码为:rw7}^!y=7&sop76tr20251225;其中目标字符在第三次密文序列中的位置并不相邻,那么经过对第三次密文序列中的字符进行裁剪处理后,就能够增大第三次密文序列中的字符组成随机性,提高了注册码的破解难度。
62.在一实施例中,步骤s104中,所述将所述多个随机字符插入至所述第一次密文序列,可以包括:将每个所述随机字符依次插入至所述第一次密文序列中不相邻的位置。
63.随机字符可以代表第一次密文序列中的随机信息,因此在第一次密文序列中增加随机字符,并且将随机字符插在第一次密文序列中的位置并不相邻,可增加第二次密文序列中的字符组成复杂性,避免黑客通过智能算法在第二次密文序列中找出规律进而轻松地破解得到注册码。
64.示例性的,多个随机字符为:#¥%*~;第一次密文序列为:p1er+ohs7-}6!r3ys1r0oic&m,将每个随机字符依次插入至第一次密文序列,那么插入后的第一次密文序列为:p%1er+#ohs~7-}6!r3ys1r¥0oi*c&m。因此本技术实施例通过在第一次密文序列进行随机字符插入的方式,可提高第二次密文序列的复杂性和破解难度。
65.在一实施例中,所述方法还可以包括:步骤s106和步骤s107。
66.步骤s106:获取所述终端设备对应的适应环境特征。
67.步骤s107:按照环境特征编码规则,将所述终端设备对应的适应环境特征生成所
述终端设备的一个指示符。
68.此时,步骤s105,所述将授权截止时间添加至所述第二次密文序列的后缀,生成注册码,可以包括:子步骤s105b1和子步骤s105b2。
69.子步骤s105b1:将授权截止时间添加至所述第二次密文序列的后缀,生成第三次密文序列。
70.子步骤s105b2:将所述指示符添加至所述第三次密文序列的前缀,生成注册码。
71.终端设备会应用在特定的环境中,适应环境特征可以是指终端设备所应用的特定环境的特征。利用适应环境特征生成指示符,并且将指示符添加至第三次密文序列的前缀中,以便于用户在注册码中根据指示符就能够知道该注册码应用在何种场景。示例性的,若终端设备为输液泵,那么当该输液泵应用在不同的科室时,具有不同的治疗效果;比如,表1示出了环境特征编码规则。
72.表1环境特征编码规则
73.输液泵应用的科室指示符肝科g肾科sicui急诊j风湿免疫科f
74.若该输液泵应用在肝科,该注册码应用在肝科的输液管理控制软件中,利用该注册码就能够在输液管理控制软件中进行登陆验证;比如第三次密文序列为:phsn#fj23!ysh&hjis+sc_ys20251225,指示符为“g”,将指示符添加至第二次密文序列的前缀,进而注册码为:gphsn#fj23!ysh&hjis+sc_ys20251225。因此本技术实施例通过设定指示符能够指明注册码的适应环境,给用户带来了更佳的使用便捷性。
75.在一实施例中,所述方法还可以包括:步骤s108。
76.步骤s108:接收后台服务端发送的一个禁用字符串,所述后端服务端的禁用数据库包括多个禁用字符串。
77.此时,步骤s105,所述将授权截止时间添加至所述第二次密文序列的后缀,生成注册码,可以包括:子步骤s105c1和子步骤s105c2。
78.子步骤s105c1:将授权截止时间添加至所述第二次密文序列的后缀,生成第三次密文序列。
79.子步骤s105c2:将所述禁用字符串添加至所述第三次密文序列的前缀,生成注册码。
80.所述方法还包括:步骤s109。
81.步骤s109:将所述禁用字符串对应的反馈标记发送至所述后端服务端,使所述后端服务端将所述禁用字符串从所述禁用数据库中删除。
82.所述终端设备与后台服务端通信,所述后端服务端包括:禁用数据库,其中所述禁用数据库包括多个禁用字符串;其中禁用字符串在禁用数据库中具有唯一性,第二次密文序列不会包含禁用字符串,终端设备与后台服务端之间能够实现双向数据传输,利用禁用字符串能够防止不同的注册码之间出现重复的问题,当禁用字符串添加至第三次密文序列
的前缀,生成注册码之后,可增加不同注册码之间的区别性,提高注册码的使用安全性。
83.将禁用字符串添加至第三次密文序列的前缀,可保障生成的注册码具有独特性,不同的注册码在使用过程中都不相同;当其中一个禁用字符串添加至第三次密文序列的前缀之后,将该禁用字符串对应的反馈标记输出至后端服务端,后端服务端将该禁用字符串从禁用数据库中进行删除,以确保该禁用字符串不会在下一次注册码的生成方法中添加生成注册码,保障多个注册码之间不会产生混淆。
84.示例性的,禁用字符串是由后端服务端提前生成,并且禁用字符串中的字符无法在密文加密过程中生成;参见表2,表2示出了禁用数据库的示意。
85.表2禁用数据库
[0086][0087]
若得到的第三次密文序列为:phsn#fj23!ysh&hjis+sc_ys20251225,从上述表2中选取一个禁用字符串为:απω,则将该禁用字符串添加至第三次密文序列的前缀,生成的注册码为:απωphsn#fj23!ysh&hjis+sc_ys20251225,并将该禁用字符串对应的反馈标记输出至后端服务端,将该“απω”从禁用数据库中删除,以避免下一次注册码的生成过程中对“απω”重复利用;那么在下一次注册码的生成过程中只能从更新后的禁用数据库中获取禁用字符串,确保了注册码生成过程的唯一性。
[0088]
在一实施例中,步骤s102,所述采用多个预设字符对所述铭牌数据进行填充,得到所述机器码,还可以包括:
[0089]
子步骤s1021:采用多个预设字符对所述铭牌数据进行填充,得到第一字符串。
[0090]
子步骤s1022:对所述第一字符串进行二进制转换,得到二进制代码。
[0091]
将字符转化为二进制代码(即二进制数字)的过程为二进制转换。当对第一字符串进行二进制转换以后,得到的二进制代码采用二进制数字代替;每一个字符都采用二进制数字表示;比如字符“m”对应的二进制数字为:1001,字符“n”对应的二进制数字为:1010,依次类推。
[0092]
比如第一字符串为:mr+hi7-}106!3y1proc&essor;对第一字符串进行二进制转换后,得到的二进制代码为:10011101101110111101011111010110110010110110110010111010110101110110101010100111010011100010111011010111001011100。
[0093]
子步骤s1023:对所述二进制代码中的每个数字进行乱序处理。
[0094]
其中二进制代码包含二进制数字,二进制数字的乱序处理的步骤更加简便,因此对二进制代码进行乱序处理后,使得数据具有更高的混乱程度。
[0095]
子步骤s1024:将乱序处理后的二进制代码进行二进制取反处理,生成所述机器码。
[0096]
将二进制代码(即二进制数字)转化为字符的过程为二进制取反处理,比如得到的二进制数字为:1001,根据二进制的编码规则进行二进制取反处理后,得到的字符为:“m”。
[0097]
需要说明的是,“二进制的编码规则”可采用相关技术中公认的编码规则,也可以根据实际需要进行设定。依次类推,将乱序处理后的二进制代码中的每个二进制数字依次进行二进制取反处理,即可生成机器码。
[0098]
本技术实施例在生成机器码的过程中,采用二进制代码进行乱序处理,当字符转化为二进制数字后,二进制代码的字符长度会增加,其复杂度也会增加,可有效避免黑客对机器码的数据窃取问题。
[0099]
在一实施例中,子步骤s1023,所述对所述二进制代码中的每个数字进行乱序处理,还可以包括:子步骤s10231和子步骤s10232。
[0100]
子步骤s10231:采用随机算法生成任意一个二进制数据集合,并且从所述二进制数据集合中截取二进制数据段,其中所述二进制数据段的字符长度等于所述二进制代码的字符长度。
[0101]
子步骤s10232:对所述二进制数据段和所述二进制代码进行布尔运算。
[0102]
随机算法可采用相关技术中的二进制随机数生成算法;比如生成的二进制数据集合为:1011100101011010101010011110100101000111101010110100
[0103]
00101011110100111011100100101011010101010011101001010111101100010101101100;从该二进制数据集合中截取二进制数据段为:10111001010110101010100111101001010001111010101101000010101111010011101110010010101101010101001110100101011110110。
[0104]
其中,布尔运算规则可以为:将两个二进制数字进行布尔运算,若两个二进制数字相同(比如都是0,或者都是1),则输出0;若两个二进制数字不相同(一个为0,另一个为1),则输出1;因此经过布尔运算之后就能够输出一个全新的二进制代码;比如二进制数据段为:10111,二进制代码为:10011,二进制数据段和二进制代码经过布尔运算后输出:00100。因此本技术实施例对二进制数字进行布尔运算后,可实现对于二进制代码的乱序处理功能。
[0105]
在一实施例中,步骤s103,所述对所述机器码中的字符进行乱序处理,生成第一次密文序列,可以包括:子步骤s1031、子步骤s1032以及子步骤s1033。
[0106]
子步骤s1031:统计所述机器码中每个字符的出现频次。
[0107]
示例性的,若机器码为:mr+hi7-}106!3y1proc&essor,字符“m”的出现频次为:1,字符“r”的出现频次为:1,字符“+”的出现频次为:1,字符“h”的出现频次为:1,字符“i”的出现频次为:1,字符“7”的出现频次为:1;依次类推,可以统计出机器码中每个字符的出现频次。
[0108]
子步骤s1032:当所述机器码中每个字符的出现频次满足第一条件时,将所述机器码中的第i个字符与所述机器码中的倒数第i个字符调换位置,其中i代表字符在所述机器码中所处的位置,所述第一条件为:所述机器码中每个字符的出现频次都是奇数或者都是偶数。
[0109]
子步骤s1033:当所述机器码中每个字符的出现频次不满足第一条件时,将出现频次是奇数的字符与相邻的出现频次是偶数的字符调换位置。
[0110]
本技术实施例根据每个字符的出现频次调节字符在机器码中所处的位置,以增加第一次密文序列的随机性,第一次密文序列中的字符具有更高的不规律性。
[0111]
示例性的,机器码为:mr+hi7-}106!3y1proc&essor,则机器码中的每个字符的出现频次如下表3所示;
[0112]
表3机器码中的每个字符的出现频次
[0113]
字符mr+hi7-}出现频次11111111字符106!3ypr出现频次21111112字符oc&es///出现频次21112///
[0114]
如上述表3中,机器码中每个字符的出现频次既有奇数也有偶数,因此当所述机器码中每个字符的出现频次不满足第一条件时,则将出现频次是奇数的字符与相邻的出现频次是偶数的字符这两者调换位置。
[0115]
请参见上述表3,首先判断字符的出现频次是否为奇数,当字符的出现频次为奇数时,再判断与该字符相邻的字符出现频次是否为偶数,当判断出与该字符相邻的字符出现频次为偶数,则将出现频次是奇数的字符与相邻的出现频次是偶数的字符这两者调换位置;比如,在表3中:字符“}”、“y”与字符“1”这两者相邻,则将这两个字符调换位置;字符“p”与字符“r”这两者相邻,则将这两个字符调换位置;字符“c”与字符“o”这两者相邻,则将这两个字符调换位置;字符“e”与字符“s”这两者相邻,则将这两个字符调换位置;请参阅图3,图3示出了机器码中字符调换位置的示意图,经过调换位置后的机器码为:mr+hi7-1}06!31yrpoc&sesor,那么生成的第一次密文序列为:mr+hi7-1}06!31yrpoc&sesor。
[0116]
需要说明的是,当机器码中每个字符的出现频次不满足第一条件时,将出现频次是奇数的字符与相邻的出现频次是偶数的字符这两者调换位置以后,则会依次遍历机器码中每个字符,并依次进行下一个字符的出现频次进行判断;(写一段的目的就是为了解释:附图2中字符e与字符第一个s调换位置后,字符e还是字符第二个s相邻,但是本实施例会依次判断下一个字符(也就是第二个s),不会再判断字符e,因此就不会再次调换字符e的位置与第二个s相邻的位置);这里调换位置的内容其实就是一个算法思想。
[0117]
示例性的,若机器码为:mr+hi7-}206!3y1pmoc&ecsar,机器码中的每个字符的出现频次都是1,机器码中每个字符的出现频次满足第一条件,将机器码中的第i个字符与所述机器码中的倒数第i个字符这两者调换位置;如图4所示,图4示出了机器码中每个字符进行调换位置的规律,经过调换位置之后,生成的第一次密文序列为:rasce&comp1y3!602}-7ih+rm。若机器码的字符长度为奇数,那么最中间的字符不需要变更位置,如图4所示,最中间的字符“3”就不需要变更位置。
[0118]
因此本技术实施例根据机器码中每个字符的出现频次将机器码划分为两种类型,分别调换机器码中的字符位置,能够有效地降低第一次密文序列被黑客窃取破解的风险。
[0119]
参见图5,图5是本技术软件许可控制方法一实施例的流程示意图,所述方法应用于终端设备,本技术实施例的软件许可控制方法与上述的注册码的生成方法大部分内容相同,相同的内容请参见上述注册码的生成方法部分,在此不再赘叙,下面主要说明不同的内容。
[0120]
所述方法包括:步骤s201、步骤s202、步骤s203、步骤s204、步骤s205以及步骤s206。
[0121]
步骤s201:获取所述终端设备的铭牌数据。
[0122]
步骤s202:根据所述铭牌数据生成机器码。
[0123]
步骤s203:对所述机器码中的字符进行乱序处理,生成第一次密文序列。
[0124]
步骤s204:生成多个随机字符,将所述多个随机字符插入至所述第一次密文序列,生成第二次密文序列。
[0125]
步骤s205:将授权截止时间添加至所述第二次密文序列的后缀,生成第一注册码。
[0126]
步骤s206:根据所述第一注册码和接收到的用户输入的第二注册码,确定所述用户是否合法。
[0127]
按照本技术注册码的生成方法得到的第一注册码是唯一的、合法的注册码,如果用户输入的第二注册码的来源合法,也是通过本技术注册码的生成方法得来的,那么第二注册码与第一注册码应该是相同的,可以确定该用户是合法的用户;如果用户输入的第二注册码的来源不合法,不是通过本技术注册码的生成方法得来的,那么第二注册码与第一注册码应该是不相同的,可以确定该用户是不合法的用户。
[0128]
本技术实施例由于利用终端设备的铭牌数据依次生成第一次密文序列、第二次密文序列,然后生成注册码,生成的注册码与终端设备一一对应,确保注册码的唯一性,并且进行两道加密步骤,能够切断注册码与终端设备的铭牌数据信息之间的数据关联性,提高注册码的加密安全性,防止黑客根据终端设备的铭牌数据对注册码进行暴力破解,能够极大地保障注册码的使用安全性和稳定性;本技术实施例中注册码的生成方法能够广泛地应用在终端设备中,生成的注册码能够有效地防止对软件进行恶意注册。
[0129]
在一实施例中,所述根据所述铭牌数据生成机器码,包括:若检测出所述铭牌数据属于未被注册的铭牌数据,则采用多个预设字符对所述铭牌数据进行填充,得到所述机器码,其中所述机器码的字符长度大于或者等于预设长度。
[0130]
在一实施例中,所述将授权截止时间添加至所述第二次密文序列的后缀,生成注册码,包括:将授权截止时间添加至所述第二次密文序列的后缀,生成第三次密文序列;对所述第三次密文序列中的字符进行裁剪处理,生成注册码,其中所述注册码的字符长度与所述机器码的字符长度相等。
[0131]
在一实施例中,所述对所述第三次密文序列中的字符进行裁剪处理,包括:将所述第三次密文序列中的多个不相邻、且不属于授权截止时间内的字符的目标字符删除。
[0132]
在一实施例中,所述将所述多个随机字符插入至所述第一次密文序列,包括:将每个所述随机字符依次插入至所述第一次密文序列中不相邻的位置。
[0133]
在一实施例中,所述方法还包括:获取所述终端设备对应的适应环境特征;按照环境特征编码规则,将所述终端设备对应的适应环境特征生成所述终端设备的一个指示符;所述将授权截止时间添加至所述第二次密文序列的后缀,生成注册码,包括:将授权截止时间添加至所述第二次密文序列的后缀,生成第三次密文序列;将所述指示符添加至所述第三次密文序列的前缀,生成注册码。
[0134]
在一实施例中,所述方法还包括:接收后台服务端发送的一个禁用字符串,所述后端服务端的禁用数据库包括多个禁用字符串;所述将授权截止时间添加至所述第二次密文序列的后缀,生成注册码,包括:将授权截止时间添加至所述第二次密文序列的后缀,生成第三次密文序列;将所述禁用字符串添加至所述第三次密文序列的前缀,生成注册码,并将所述禁用字符串对应的反馈标记发送至所述后端服务端。
[0135]
在一实施例中,所述采用多个预设字符对所述铭牌数据进行填充,得到所述机器
码,包括:采用多个预设字符对所述铭牌数据进行填充,得到第一字符串;对所述第一字符串进行二进制转换,得到二进制代码;对所述二进制代码中的每个数字进行乱序处理;将乱序处理后的二进制代码进行二进制取反处理,生成所述机器码。
[0136]
在一实施例中,所述对所述二进制代码中的每个数字进行乱序处理,包括:采用随机算法生成任意一个二进制数据集合,并且从所述二进制数据集合中截取二进制数据段,其中所述二进制数据段的字符长度等于所述二进制代码的字符长度;对所述二进制数据段和所述二进制代码进行布尔运算。
[0137]
在一实施例中,所述对所述机器码中的字符进行乱序处理,生成第一次密文序列,包括:统计所述机器码中每个字符的出现频次;当所述机器码中每个字符的出现频次满足第一条件时,将所述机器码中的第i个字符与所述机器码中的倒数第i个字符调换位置,其中i代表字符在所述机器码中所处的位置,所述第一条件为:所述机器码中每个字符的出现频次都是奇数或者都是偶数;当所述机器码中每个字符的出现频次不满足第一条件时,将出现频次是奇数的字符与相邻的出现频次是偶数的字符调换位置。
[0138]
参见图6,图6是本技术终端设备一实施例的结构示意图,所述终端设备100包括:处理器2和存储器1,所述处理器2和所述存储器1相互连接,所述存储器1用于存储计算机程序,所述处理器2用于执行所述计算机程序并在执行所述计算机程序时,实现如上任一所述的注册码的生成方法,或者实现如上任一所述的软件许可控制方法。相关内容的详细说明,请参见上述相关内容,在此不再赘叙。
[0139]
其中,处理器2可以是微控制单元、中央处理单元或数字信号处理器,等等。
[0140]
其中,存储器1可以是flash芯片、只读存储器、磁盘、光盘、u盘或者移动硬盘等等。
[0141]
在一实施例中,该终端设备可以是医疗设备,该医疗设备还可以包括有线或无线网络接口、键盘以及输入输出接口等部件,以便进行输入输出,该医疗设备还可以包括其他用于实现设备功能的部件,在此不做赘述。
[0142]
本技术还提供一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理执行时使所述处理器实现如上任一所述的注册码的生成方法,或者实现如上任一所述的软件许可控制方法。相关内容的详细说明,请参见上述相关内容,在此不再赘叙。
[0143]
其中,该计算机可读存储介质可以是上述血液净化设备的内部存储单元,例如硬盘或内存。该计算机可读存储介质也可以是外部存储设备,例如配备的插接式硬盘、智能存储卡、安全数字卡、闪存卡,等等。
[0144]
应当理解,在本技术说明书中所使用的术语仅仅是出于描述特定实施例的目的而并不意在限制本技术。
[0145]
还应当理解,在本技术说明书和所附权利要求书中使用的术语“和/或”是指相关联列出的项中的一个或多个的任何组合以及所有可能组合,并且包括这些组合。
[0146]
以上所述,仅为本技术的具体实施例,但本技术的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本技术揭露的技术范围内,可轻易想到各种等效的修改或替换,这些修改或替换都应涵盖在本技术的保护范围之内。因此,本技术的保护范围应以权利要求的保护范围为准。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1