本发明专利技术披露了一种生成固定长度序列号的方法及装置,其中方法包括:通过数据加密标准对称加密算法将明文序列号加密生成26位密文序列号;通过Base32编码该26位密文序列号,并将该26位密文序列号的Base32编码中约定的一位的信息携载在其它密文序列号的Base32编码中约定的两位上,变成25位密文序列号的编码。本发明专利技术的技术方案效率高、易用性强且应用广,可应用于各种软件和硬件相关的需要序列号认证的产品开发领域。
【技术实现步骤摘要】
一种生成固定长度序列号的方法及装置
本专利技术涉及软件、硬件开发的维权技术,尤其涉及生成固定长度序列号的方法及装置。
技术介绍
具有固定长度的序列号是常用的序列号,广泛应用于软件和硬件生产行业中。譬如软件开发商为了防止盗版,会通过序列号对软件采取一定的保护措施。在用户注册的时候会根据用户软件所安装的计算机软硬件信息生成唯一的识别码,一般称作机器码,也叫序列号、认证码、注册申请码等。如果把序列号给第2个人用,那么在序列号被第2次验证的时候,就会发现和它首次被第一次验证时候的网卡的物理地址不一样,就会被软件开发商发现有2个人使用同一套软件,从而将被第2次验证序列号的沦为盗版。还有一种是通过本地的磁盘序列号通过一定算法,生成序列号,使得首次安装软件的这台电脑可以安装软件,但其它的电脑就不可以安装该软件。具有固定长度的序列号尤指易于辨识的25位固定长度的序列号,更是目前使用高效的序列号的一种模式。现有的25位固定长度的序列号一般是用随机方法生成,而不是通过数据加密标准(DES,DataEncryptionStandard)加密,因此安全系数比较低。而且,若将固定长度的序列号通过DES加密,产生的密码序列号长度是26位,不符合目前通用的序列号模式。因此,需要提供一种生成固定长度序列号的方法,既能用DES对序列号进行加密且能形成25位通用的序列号模式。
技术实现思路
本专利技术所要解决的技术问题是提供一种生成固定长度序列号的方法及装置,能够生成通用的25位序列号模式的序列号。为了解决上述技术问题,本专利技术提供了一种生成固定长度序列号的方法,包括:加密步骤:通过数据加密标准对称加密算法将明文序列号加密生成26位密文序列号;编码步骤:通过Base32编码该26位密文序列号,并将所述26位密文序列号的Base32编码中约定的一位的信息携载在其它密文序列号的Base32编码中约定的两位上,变成25位密文序列号的编码。进一步地,在所述编码步骤前还包括:设定用于携载隐藏码信息的二位Base32编码分别为字母末位Z和数字末位8,并设定用Base32编码获取商和余数的除数为6;同时设定隐藏码之位为26位密文序列号的Base32编码中的末位。进一步地,所述编码步骤具体包括:获取Base32编码中的末位的字符值在Base32中的序号,用该序号除以设定的除数6,得商和余数;用所得商作为第一引导序号找到abcdef中的小写字母表示携载在Z之上的信息,用所得余数作为第二引导序号找到hijklmn中的小写字母表示携载在8之上的信息,从而将26位密文序列号的编码变为25位密文序列号的编码。为了解决上述技术问题,本专利技术提供了一种生成固定长度序列号的装置,包括依次连接的DES加密模块、Base32编码模块以及序列号缩位模块,其中:DES加密模块,用于通过数据加密标准对称加密算法将明文序列号加密生成26位密文序列号;Base32编码模块,用于通过Base32编码该26位密文序列号;序列号缩位模块,用于将26位密文序列号的Base32编码中约定的一位的信息携载在其它密文序列号的Base32编码中约定的两位上,变成25位密文序列号的Base32编码。进一步地,Base32编码模块预先设定用于携载隐藏码信息的二位Base32编码分别为字母末位Z和数字末位8,并设定用Base32编码获取商和余数的除数为6;同时设定隐藏码之位为26位密文序列号的Base32编码中的末位。进一步地,序列号缩位模块获取Base32编码中的末位的字符值在Base32中的序号,用该序号除以设定的除数6,得商和余数;用所得商作为第一引导序号找到abcdef中的小写字母表示携载在Z之上的信息,用所得余数作为第二引导序号找到hijklmn中的小写字母表示携载在8之上的信息,从而将26位密文序列号的编码变为25位密文序列号的编码。本专利技术是基于DES产生具有固定长度序列号。由于DES是常用并且安全的加解密算法,然后本专利技术通过对约定字符(譬如尾字符或首字符)均分到经过DES加密过的字符串中,在只需消耗最少计算资源的状态下能将26位源密文缩短到25位,并且也能快速重组密文字符串,将25位序列号密文还原至26位序列号的源密文。本专利技术的技术方案效率高、易用性强且应用广,可应用于各种软件和硬件相关的需要序列号认证的产品开发领域。附图说明图1是本专利技术的生成固定长度序列号的方法实施例的流程图;图2是本专利技术的生成固定长度序列号的装置实施例的结构框图。具体实施方式以下结合附图和优选实施例对本专利技术的技术方案进行详细地阐述。应该理解,以下列举的实施例仅用于说明和解释本专利技术,而不构成对本专利技术技术方案的限制。如图1所示,表示了本专利技术的生成固定长度序列号的方法实施例的流程,包括步骤:110:通过DES对称加密算法将明文序列号加密生成26位密文序列号;120:通过Base32编码该26位密文序列号,并将26位密文序列号的Base32编码中约定的一位的信息携载在其它密文序列号的Base32编码中约定的两位上,变成25位密文序列号的编码。在上述方法实施例中,预先设定用于携载隐藏码信息的二位Base32编码分别为字母末位Z和数字末位8,并设定用Base32编码获取商和余数的除数为6;同时设定隐藏码之位为26位密文序列号的Base32编码中的末位。例如,通过DES对称加密算法将明文序列号加密生成26位密文序列号,然后通过Base32(ABCDEFGHIJKLMNOPQRSTUVWXYZ345678)编码该26位密文序列号为JHEVM-254ZX-V7R82-CJMV7-HUXCU-7;其中最后一位数值是字符“7”,它在Base32中的序号是31,用31除以设定的除数6,得商是5,余数是1。定义额外的小写字母abcdef表示携载在Z之上的信息,即用Z+5→e携带商5的信息;再定义额外的hijklmn为携载在8之上的数,即用8+1→h携带余数1的信息;经这样处理,密文序列号变为:JHEVM-254eX-V7Rh2-CJMV7-HUXCU,则将最后一位字符“7”以其在Base32中的序号31除以6的商5和余数1分别携载在小写字母e和h上。通过以上变动,可将DES加密后的密文序列号的Base32编码数据处理成为25位的密文序列号的Base32编码。在上述方法实施例中,当要将密文序列号的Base32编码进行解码时,将其中非ABCDEFGHIJKLMNOPQRSTUVWXYZ345678的找出,即字符“e”和字符“h”,并把“e”和“h”分别对应的位置5和1恢复成预定的Z和8,同时获取商5余数1,并根据预定的除数6得到Base32编码的序号31,最终获取JHEVM-254ZX-V7R82-CJMV7-HUXCU-7的26位密文序列号。当然,预先设定用于携载隐藏码信息的二位Base32编码除了分别为字母末位Z和数字末位8外,亦可设定为字母次末位Y和数字次末位7,或者设定为字母次次末位X和数字次次末位6,……。除了设定用Base32编码获取商和余数的除数为6外,亦可设定为5,4,……。设定隐藏码之位为26位密文序列号的Base32编码中的末位外,亦可设定隐藏码之位为26位密文序列号的Base32编码中的首位,或设定隐藏码之位为26位密文序列号的本文档来自技高网...
【技术保护点】
一种生成固定长度序列号的方法,包括:加密步骤:通过数据加密标准对称加密算法将明文序列号加密生成26位密文序列号;编码步骤:通过Base32编码该26位密文序列号,并将所述26位密文序列号的Base32编码中约定的一位的信息携载在其它密文序列号的Base32编码中约定的两位上,变成25位密文序列号的编码。
【技术特征摘要】
1.一种生成固定长度序列号的方法,包括:加密步骤:通过数据加密标准对称加密算法将明文序列号加密生成26位密文序列号;编码步骤:通过Base32编码该26位密文序列号,并将所述26位密文序列号的Base32编码中约定的一位的信息携载在其它密文序列号的Base32编码中约定的两位上,变成25位密文序列号的编码;其中,所述编码步骤具体包括:获取Base32编码中的末位的字符值在Base32中的序号,用该序号除以设定的除数6,得商和余数;用所得商作为第一引导序号找到abcdef中的小写字母表示携载在Z之上的信息,用所得余数作为第二引导序号找到hijklmn中的小写字母表示携载在8之上的信息,从而将26位密文序列号的编码变为25位密文序列号的编码。2.按照权利要求1所述的方法,其特征在于,在所述编码步骤前还包括:设定用于携载隐藏码信息的二位Base32编码分别为字母末位Z和数字末位8,并设定用Base32编码获取商和余数的除数为6;同时设定隐藏码之位为26位密文序列号的Base32编码中的末位。3.一种生成固定长度序列号的装置,其特征在于,包括依次连接的DES...
【专利技术属性】
技术研发人员:李新虎,胡玉鹏,于辉,
申请(专利权)人:浪潮北京电子信息产业有限公司,
类型:发明
国别省市:北京;11
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。