【技术实现步骤摘要】
一种用于生成、验证兑换码的方法和装置
本申请涉及计算机
,尤其涉及一种用于生成、验证兑换码的技术方案。
技术介绍
兑换码是由一组字母和数字组成的号码,用于通过网络形式来兑换相应的物品,例如,用户可在网络游戏中通过兑换码来兑换游戏道具。在现有技术中,兑换码生成方式通常是采用随机算法生成若干个字符串,该随机生成的字符串即作为兑换码被存储至一个文件中,相应地验证方式则是通过字符串比较的方式来查找该文件中是否存在该验证码或验证码是否已经兑出,并且,服务器每次启动时均需读取用于存储兑换码的整个文件,并将该整个文件的内容载入内存,以哈希表的方式储存。然而,现有技术的方案具有如下缺陷:1)生成新的兑换码时需要判断是否与已生成的兑换码重复,且当兑换码变得越来越多时,若再随机生成新的兑换码,需遍历判断的兑换码也变得越来越多,从而导致生成效率低下;2)由于所有兑换码都在一个文件里,使得配置性低下;3)服务器每次启动时均需读取用于存储兑换码的整个文件,降低了服务器的启动速度,且由于将整个文件读取进内存后以字符串形式存储,占用了服务器
【技术保护点】
1.一种用于生成兑换码的方法,其中,该方法包括以下步骤:/n根据已获得的数字号和批次号计算数字位秘钥标识,使用所述数字位秘钥标识对应的数字位秘钥对所述数字号进行对称加密,获得数字位信息;/n根据所述数字位秘钥标识和所述数字位信息,获得第一主体信息;/n根据所述数字号和所述批次号计算批次位秘钥标识,使用所述批次位秘钥标识对应的批次位秘钥对所述批次号进行对称加密,获得批次位信息;/n根据所述第一主体信息、所述批次位秘钥标识以及所述批次位信息,生成兑换码。/n
【技术特征摘要】
1.一种用于生成兑换码的方法,其中,该方法包括以下步骤:
根据已获得的数字号和批次号计算数字位秘钥标识,使用所述数字位秘钥标识对应的数字位秘钥对所述数字号进行对称加密,获得数字位信息;
根据所述数字位秘钥标识和所述数字位信息,获得第一主体信息;
根据所述数字号和所述批次号计算批次位秘钥标识,使用所述批次位秘钥标识对应的批次位秘钥对所述批次号进行对称加密,获得批次位信息;
根据所述第一主体信息、所述批次位秘钥标识以及所述批次位信息,生成兑换码。
2.根据权利要求1所述的方法,其中,所述根据所述数字位秘钥标识和所述数字位信息,获得第一主体信息的步骤包括:
根据所述数字位秘钥标识和所述数字位信息,获得初始主体信息;
根据预设主体秘钥对所述初始主体信息进行对称加密,获得第一主体信息。
3.根据权利要求2所述的方法,其中,所述根据所述数字位秘钥标识和所述数字位信息,获得初始主体信息的步骤包括:
根据所述数字位秘钥标识和所述数字位信息,计算校验位信息;
将所述校验位信息、所述数字位秘钥标识以及所述数字位信息进行组合,获得初始主体信息。
4.根据权利要求2或3所述的方法,其中,所述根据预设主体秘钥对所述初始主体信息进行对称加密,获得第一主体信息的步骤包括:
使用预设批次秘钥对所述批次号进行对称加密,获得第一秘钥;
将预设主体秘钥的公共部分和所述第一秘钥进行组合,获得第二秘钥;
使用所述第二秘钥对所述初始主体信息进行对称加密,获得第一主体信息。
5.根据权利要求1至4中任一项所述的方法,其中,该方法还包括以下步骤:
根据兑换码类型,获得类型位信息;
其中,所述根据所述第一主体信息、所述批次位秘钥标识以及所述批次位信息,生成兑换码的步骤包括:
根据所述第一主体信息、所述批次位秘钥标识、所述批次位信息以及所述类型位信息,生成兑换码。
6.根据权利要求5所述的方法,其中,所述根据兑换码类型,获得类型位信息的步骤包括:
根据兑换码类型,以及所述数字号和/或所述批次号,计算类型位信息。
7.根据权利要求1至6中任一项所述的方法,其中,所述根据所述第一主体信息、所述批次位秘钥标识以及所述批次位信息,生成兑换码的步骤包括:
根据所述第一主体信息、所述批次位秘钥标识以及所述批次位信息,生成第二主体信息;
根据所述数字号和所述批次号,计算随机打乱标识,并根据所述随机打乱标识对应的随机数种子将所述第二主体信息打乱,得到第三主体信息;
根据所述第三主体信息和所述随机打乱标识,生成兑换码。
8.根据权利要求1至7中任一项所述的方法,其中,该方法还包括在所述获得数字位信息的步骤之前的以下步骤:
根据预设数字位位数,基于以下公式获得数字号:
Numi=base+base*i
其中,Numi表示第i个数字号,i=0,1,2,…,N-1,N为所述批次号对应的兑换码数量,base=(2^M-1)/N,M表示预设数字位位数。
9.一种用于验证兑换码的方法,其中,该方法包括以下步骤:
检测接收到的兑换码的长度是否为预定长度,若是,从所述兑换码中解析出第一主体信息、批次位秘钥标识以及批次位信息;
使用所述批次位秘钥标识对应的批次位秘钥对所述批次位信息进行对称解密,获得批次号;
根据所述第一主体信息,获得数字位秘钥标识和数字位信息,使用所述数字位秘钥标识对所述数字位信息进行对称解密,获得数字号;
根据所述数字号、所述批次号以及预定配表,检测所述兑换码是否具备有效性,若是,判定验证成功,否则,判定验证失败。
10.根据权利要求9的方法,其中,所述第一主体信息是根据预设主体秘钥对初始主体信息进行对称加密获得的,所述初始主体信息包括数字位秘钥标识和数字位信息,其中,所述根据所述第一主体信息,获得数字位秘钥标识和数字位信息的操作包括:
根据所述预设主体秘钥对...
【专利技术属性】
技术研发人员:王占伟,高攀,
申请(专利权)人:完美世界北京软件科技发展有限公司,
类型:发明
国别省市:北京;11
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。