CN110738513A - 一种用于生成、验证兑换码的方法和装置 - Google Patents
一种用于生成、验证兑换码的方法和装置 Download PDFInfo
- Publication number
- CN110738513A CN110738513A CN201910858420.6A CN201910858420A CN110738513A CN 110738513 A CN110738513 A CN 110738513A CN 201910858420 A CN201910858420 A CN 201910858420A CN 110738513 A CN110738513 A CN 110738513A
- Authority
- CN
- China
- Prior art keywords
- batch
- information
- bit
- digital
- key
- 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.)
- Granted
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q30/00—Commerce
- G06Q30/02—Marketing; Price estimation or determination; Fundraising
- G06Q30/0207—Discounts or incentives, e.g. coupons or rebates
- G06Q30/0208—Trade or exchange of goods or services in exchange for incentives or rewards
-
- A—HUMAN NECESSITIES
- A63—SPORTS; GAMES; AMUSEMENTS
- A63F—CARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
- A63F13/00—Video games, i.e. games using an electronically generated display having two or more dimensions
- A63F13/70—Game security or game management aspects
- A63F13/79—Game security or game management aspects involving player-related data, e.g. identities, accounts, preferences or play histories
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/08—Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
- H04L9/0816—Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
- H04L9/0819—Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s)
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/08—Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
- H04L9/0861—Generation of secret information including derivation or calculation of cryptographic keys or passwords
- H04L9/0869—Generation of secret information including derivation or calculation of cryptographic keys or passwords involving random numbers or seeds
-
- A—HUMAN NECESSITIES
- A63—SPORTS; GAMES; AMUSEMENTS
- A63F—CARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
- A63F2300/00—Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game
- A63F2300/50—Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game characterized by details of game servers
- A63F2300/57—Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game characterized by details of game servers details of game services offered to the player
- A63F2300/575—Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game characterized by details of game servers details of game services offered to the player for trading virtual items
Landscapes
- Engineering & Computer Science (AREA)
- Business, Economics & Management (AREA)
- Computer Security & Cryptography (AREA)
- Accounting & Taxation (AREA)
- Finance (AREA)
- General Business, Economics & Management (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Development Economics (AREA)
- Multimedia (AREA)
- Strategic Management (AREA)
- Entrepreneurship & Innovation (AREA)
- Marketing (AREA)
- Physics & Mathematics (AREA)
- Economics (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Game Theory and Decision Science (AREA)
- Storage Device Security (AREA)
Abstract
本申请提供了一种用于生成、验证兑换码的技术方案,其中,用于生成兑换码的方法包括:根据已获得的数字号和批次号计算数字位秘钥标识,使用所述数字位秘钥标识对应的数字位秘钥对所述数字号进行对称加密,获得数字位信息;根据所述数字位秘钥标识和所述数字位信息,获得第一主体信息;根据所述数字号和所述批次号计算批次位秘钥标识,使用所述批次位秘钥标识对应的批次位秘钥对所述批次号进行对称加密,获得批次位信息;根据所述第一主体信息、所述批次位秘钥标识以及所述批次位信息,生成兑换码。根据本申请的方案能够降低维护成本,缩减服务器内存开支,且具有较强的可扩展性和可移植性。
Description
技术领域
本申请涉及计算机技术领域,尤其涉及一种用于生成、验证兑换码的技术方案。
背景技术
兑换码是由一组字母和数字组成的号码,用于通过网络形式来兑换相应的物品,例如,用户可在网络游戏中通过兑换码来兑换游戏道具。
在现有技术中,兑换码生成方式通常是采用随机算法生成若干个字符串,该随机生成的字符串即作为兑换码被存储至一个文件中,相应地验证方式则是通过字符串比较的方式来查找该文件中是否存在该验证码或验证码是否已经兑出,并且,服务器每次启动时均需读取用于存储兑换码的整个文件,并将该整个文件的内容载入内存,以哈希表的方式储存。然而,现有技术的方案具有如下缺陷:1)生成新的兑换码时需要判断是否与已生成的兑换码重复,且当兑换码变得越来越多时,若再随机生成新的兑换码,需遍历判断的兑换码也变得越来越多,从而导致生成效率低下;2)由于所有兑换码都在一个文件里,使得配置性低下;3)服务器每次启动时均需读取用于存储兑换码的整个文件,降低了服务器的启动速度,且由于将整个文件读取进内存后以字符串形式存储,占用了服务器宝贵的内存资源。
发明内容
本申请的目的是提供一种用于生成、验证兑换码的技术方案。
根据本申请的一个实施例,提供一种用于生成兑换码的方法,其中,该方法包括以下步骤:
根据已获得的数字号和批次号计算数字位秘钥标识,使用所述数字位秘钥标识对应的数字位秘钥对所述数字号进行对称加密,获得数字位信息;
根据所述数字位秘钥标识和所述数字位信息,获得第一主体信息;
根据所述数字号和所述批次号计算批次位秘钥标识,使用所述批次位秘钥标识对应的批次位秘钥对所述批次号进行对称加密,获得批次位信息;
根据所述第一主体信息、所述批次位秘钥标识以及所述批次位信息,生成兑换码。
根据本申请的另一个实施例,还提供了一种用于验证兑换码的方法,其中,该方法包括以下步骤:
若接收到的兑换码的长度为预定长度,从所述兑换码中解析出第一主体信息、批次位秘钥标识以及批次位信息;
使用所述批次位秘钥标识对应的批次位秘钥对所述批次位信息进行对称解密,获得批次号;
根据所述第一主体信息,获得数字位秘钥标识和数字位信息,使用所述数字位秘钥标识对所述数字位信息进行对称解密,获得数字号;
根据所述数字号、所述批次号以及预定配表,检测所述兑换码是否具备有效性,若是,判定验证成功,否则,判定验证失败。
根据本申请的另一个实施例,还提供了一种用于生成兑换码的第一装置,其中,该第一装置包括:
用于根据已获得的数字号和批次号计算数字位秘钥标识,使用所述数字位秘钥标识对应的数字位秘钥对所述数字号进行对称加密,获得数字位信息的装置;
用于根据所述数字位秘钥标识和所述数字位信息,获得第一主体信息的装置;
用于根据所述数字号和所述批次号计算批次位秘钥标识,使用所述批次位秘钥标识对应的批次位秘钥对所述批次号进行对称加密,获得批次位信息的装置;
用于根据所述第一主体信息、所述批次位秘钥标识以及所述批次位信息,生成兑换码的装置。
根据本申请的另一个实施例,还提供了一种用于验证兑换码的第二装置,其中,该第二装置包括:
用于若接收到的兑换码的长度为预定长度,从所述兑换码中解析出第一主体信息、批次位秘钥标识以及批次位信息的装置;
用于使用所述批次位秘钥标识对应的批次位秘钥对所述批次位信息进行对称解密,获得批次号的装置;
用于根据所述第一主体信息,获得数字位秘钥标识和数字位信息,使用所述数字位秘钥标识对所述数字位信息进行对称解密,获得数字号的装置;
用于根据所述数字号、所述批次号以及预定配表,检测所述兑换码是否具备有效性,若是,判定验证成功,否则,判定验证失败的装置。
根据本申请的另一个实施例,还提供了一种计算机设备,其中,所述计算机设备包括:存储器,用于存储一个或多个程序;一个或多个处理器,与所述存储器相连,当所述一个或多个程序被所述一个或者多个处理器执行时,使得所述一个或多个处理器执行如下操作:
根据已获得的数字号和批次号计算数字位秘钥标识,使用所述数字位秘钥标识对应的数字位秘钥对所述数字号进行对称加密,获得数字位信息;
根据所述数字位秘钥标识和所述数字位信息,获得第一主体信息;
根据所述数字号和所述批次号计算批次位秘钥标识,使用所述批次位秘钥标识对应的批次位秘钥对所述批次号进行对称加密,获得批次位信息;
根据所述第一主体信息、所述批次位秘钥标识以及所述批次位信息,生成兑换码。
根据本申请的另一个实施例,还提供了一种计算机设备,其中,所述计算机设备包括:存储器,用于存储一个或多个程序;一个或多个处理器,与所述存储器相连,当所述一个或多个程序被所述一个或者多个处理器执行时,使得所述一个或多个处理器执行如下操作:
若接收到的兑换码的长度为预定长度,从所述兑换码中解析出第一主体信息、批次位秘钥标识以及批次位信息;
使用所述批次位秘钥标识对应的批次位秘钥对所述批次位信息进行对称解密,获得批次号;
根据所述第一主体信息,获得数字位秘钥标识和数字位信息,使用所述数字位秘钥标识对所述数字位信息进行对称解密,获得数字号;
根据所述数字号、所述批次号以及预定配表,检测所述兑换码是否具备有效性,若是,判定验证成功,否则,判定验证失败。
根据本申请的另一个实施例,还提供了一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序可被处理器执行如下操作:
根据已获得的数字号和批次号计算数字位秘钥标识,使用所述数字位秘钥标识对应的数字位秘钥对所述数字号进行对称加密,获得数字位信息;
根据所述数字位秘钥标识和所述数字位信息,获得第一主体信息;
根据所述数字号和所述批次号计算批次位秘钥标识,使用所述批次位秘钥标识对应的批次位秘钥对所述批次号进行对称加密,获得批次位信息;
根据所述第一主体信息、所述批次位秘钥标识以及所述批次位信息,生成兑换码。
根据本申请的另一个实施例,还提供了一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序可被处理器执行如下操作:
若接收到的兑换码的长度为预定长度,从所述兑换码中解析出第一主体信息、批次位秘钥标识以及批次位信息;
使用所述批次位秘钥标识对应的批次位秘钥对所述批次位信息进行对称解密,获得批次号;
根据所述第一主体信息,获得数字位秘钥标识和数字位信息,使用所述数字位秘钥标识对所述数字位信息进行对称解密,获得数字号;
根据所述数字号、所述批次号以及预定配表,检测所述兑换码是否具备有效性,若是,判定验证成功,否则,判定验证失败。
根据本申请的另一个实施例,还提供了一种计算机程序产品,当所述计算机程序产品被设备执行时,使得所述设备执行如下操作:
根据已获得的数字号和批次号计算数字位秘钥标识,使用所述数字位秘钥标识对应的数字位秘钥对所述数字号进行对称加密,获得数字位信息;
根据所述数字位秘钥标识和所述数字位信息,获得第一主体信息;
根据所述数字号和所述批次号计算批次位秘钥标识,使用所述批次位秘钥标识对应的批次位秘钥对所述批次号进行对称加密,获得批次位信息;
根据所述第一主体信息、所述批次位秘钥标识以及所述批次位信息,生成兑换码。
根据本申请的另一个实施例,还提供了一种计算机程序产品,当所述计算机程序产品被设备执行时,使得所述设备执行如下操作:
若接收到的兑换码的长度为预定长度,从所述兑换码中解析出第一主体信息、批次位秘钥标识以及批次位信息;
使用所述批次位秘钥标识对应的批次位秘钥对所述批次位信息进行对称解密,获得批次号;
根据所述第一主体信息,获得数字位秘钥标识和数字位信息,使用所述数字位秘钥标识对所述数字位信息进行对称解密,获得数字号;
根据所述数字号、所述批次号以及预定配表,检测所述兑换码是否具备有效性,若是,判定验证成功,否则,判定验证失败。
与现有技术相比,本申请具有以下优点:能够以批次号加数字号来唯一确定一个兑换码,在生成兑换码的过程中无需考虑重复问题,且能够大幅优化兑换码的生成和验证逻辑,降低了维护成本;并且,无需再存储全部的兑换码到内存中,缩减了服务器内存开支,且具有较强的可扩展性和可移植性,可灵活支持不同的应用场景;此外,通过设置以批次号为主键的预定配表,使得每个批次的兑换码对应的兑换物品能够得到很好的系统映射,且策划人员能够很方便地基于实际需求对相应批次对应的预定配表进行设置或修改,以生成想要的兑换码,从而使得兑换码的生成更加具备灵活性。
附图说明
通过阅读参照以下附图所作的对非限制性实施例所作的详细描述,本申请的其它特征、目的和优点将会变得更明显:
图1示出了本申请一个实施例的用于生成兑换码的方法的流程示意图;
图2示出了本申请一个示例的获得第二秘钥的示意图。
图3示出了本申请一个实施例的用于验证兑换码的方法的流程示意图;
图4示出了本申请一个示例的兑换码的字符划分图;
图5示出了本申请一个示例的位数划分示意图;
图6示出了本申请一个实施例的用于生成兑换码的第一装置的流程示意图;
图7示出了本申请一个实施例的用于验证兑换码的第二装置的流程示意图;
图8示出了可被用于实施本申请中所述的各个实施例的示例性系统。
附图中相同或相似的附图标记代表相同或相似的部件。
具体实施方式
在更加详细地讨论示例性实施例之前应当提到的是,一些示例性实施例被描述成作为流程图描绘的处理或方法。虽然流程图将各项操作描述成顺序的处理,但是其中的许多操作可以被并行地、并发地或者同时实施。此外,各项操作的顺序可以被重新安排。当其操作完成时所述处理可以被终止,但是还可以具有未包括在附图中的附加步骤。所述处理可以对应于方法、函数、规程、子例程、子程序等等。
在上下文中所称“设备”,是指可以通过运行预定程序或指令来执行数值计算和/或逻辑计算等预定处理过程的智能电子设备,其可以包括处理器与存储器,由处理器执行在存储器中预存的程序指令来执行预定处理过程,或是由专用集成电路(ASIC)、现场可编程门阵列(FPGA)、数字信号处理器(DSP)等硬件执行预定处理过程,或是由上述二者组合来实现。
本申请的技术方案主要由计算机设备来实现。其中,所述计算机设备包括网络设备和用户设备。所述网络设备包括但不限于单个网络服务器、多个网络服务器组成的服务器组或基于云计算(Cloud Computing)的由大量计算机或网络服务器构成的云,其中,云计算是分布式计算的一种,由一群松散耦合的计算机集组成的一个超级虚拟计算机。所述用户设备包括但不限于PC机、平板电脑、智能手机、IPTV、PDA、可穿戴设备等。其中,所述计算机设备可单独运行来实现本申请,也可接入网络并通过与网络中的其他计算机设备的交互操作来实现本申请。其中,所述计算机设备所处的网络包括但不限于互联网、广域网、城域网、局域网、VPN网络、无线自组织网络(Ad Hoc网络)等。
需要说明的是,上述计算机设备仅为举例,其他现有的或今后可能出现的计算机设备如可适用于本申请,也应包含在本申请保护范围以内,并以引用方式包含于此。
本文后面所讨论的方法(其中一些通过流程图示出)可以通过硬件、软件、固件、中间件、微代码、硬件描述语言或者其任意组合来实施。当用软件、固件、中间件或微代码来实施时,用以实施必要任务的程序代码或代码段可以被存储在机器或计算机可读介质(比如存储介质)中。(一个或多个)处理器可以实施必要的任务。
这里所公开的具体结构和功能细节仅仅是代表性的,并且是用于描述本申请的示例性实施例的目的。但是本申请可以通过许多替换形式来具体实现,并且不应当被解释成仅仅受限于这里所阐述的实施例。
应当理解的是,虽然在这里可能使用了术语“第一”、“第二”等等来描述各个单元,但是这些单元不应当受这些术语限制。使用这些术语仅仅是为了将一个单元与另一个单元进行区分。举例来说,在不背离示例性实施例的范围的情况下,第一单元可以被称为第二单元,并且类似地第二单元可以被称为第一单元。这里所使用的术语“和/或”包括其中一个或更多所列出的相关联项目的任意和所有组合。
这里所使用的术语仅仅是为了描述具体实施例而不意图限制示例性实施例。除非上下文明确地另有所指,否则这里所使用的单数形式“一个”、“一项”还意图包括复数。还应当理解的是,这里所使用的术语“包括”和/或“包含”规定所陈述的特征、整数、步骤、操作、单元和/或组件的存在,而不排除存在或添加一个或更多其他特征、整数、步骤、操作、单元、组件和/或其组合。
还应当提到的是,在一些替换实现方式中,所提到的功能/动作可以按照不同于附图中标示的顺序发生。举例来说,取决于所涉及的功能/动作,相继示出的两幅图实际上可以基本上同时执行或者有时可以按照相反的顺序来执行。
下面结合附图对本申请作进一步详细描述。
图1为本申请一个实施例的用于生成兑换码的方法的流程示意图。根据本实施例的方法包括步骤S11、步骤S12、步骤S13和步骤S14。
需要说明的是,计算机设备中预先存储有用于生成兑换码的预定编码规则,该预定编码规则用于指示兑换码所包括的多个部分以及每个部分的长度(包括字符数和/或位数),本实施例中,兑换码至少包括以下部分:与第一主体信息对应的第一主体部分(该第一主体部分至少包括与数字位信息对应的数字位部分和与数字位秘钥标识对应的数字位秘钥标识部分)、与批次位秘钥标识对应的批次位秘钥标识部分、与批次位信息对应的批次部分。
需要说明的是,在步骤S11之前,计算机设备已获得用于生成兑换码的批次号以及与该批次号对应的至少一个数字号,针对所获得的每个数字号,计算机设备执行本实施例的方案来获得该数字号对应的兑换码(需要说明的是,上下文中所述的“数字号”和“批次号”均为十进制数字)。其中,计算机设备可采用多种方式获得用于生成兑换码的批次号,如计算机设备获得用户输入的批次号,又如计算机设备获得其他设备发送的批次号,再如,计算机设备通过下文所述的预定配表读取批次号。其中,计算机设备可采用多种方式获得至少一个数字号,例如,计算机设备在一个预定数字范围内先随机生成一个数字号X,之后使得X依次递增第一固定值来获得多个数字号,并使得X依次递减第二固定值来获得多个数字号,该第一固定值与第二固定值可能相同也可能不同(需要说明的是,所获得的数字号均需落入该预定数字范围内,若执行递增操作后获得的数字号大于或等于该预定数字范围的上限,则不再继续执行递增操作,相似的,若执行递减操作后获得的数字号小于或等于该预定数字范围的下限,则不再继续执行递减操作)。
可选地,计算机设备根据预设数字位位数,基于以下公式获得数字号:
Numi=base+base*i
其中,Numi表示第i个数字号,i=0,1,2,…,N-1,N为所述批次号对应的兑换码数量,base=(2^M-1)/N,M表示预设数字位位数,“^”表示“次方”。例如,基于预定编码规则,预设数字位位数为32位,兑换码数量为100,则base=(2^32-1)/100=2147483647/100=21474836,则第0个数字号Num0=21474836+21474836*0=21474836,第1个数字号Num1=21474836+21474836*1=42949672,由此类推,可获得该批次号对应的100个数字号。
需要说明的是,上述举例仅为更好地说明本申请的技术方案,而非对本申请的限制,本领域技术人员应该理解,任何用于获得批次号和数字号的实现方式,均应包含在本申请的范围内。
在所述步骤S11中,计算机设备根据已获得的数字号和批次号计算数字位秘钥标识,使用所述数字位秘钥标识对应的数字位秘钥对所述数字号进行对称加密,获得数字位信息。
可选地,计算机设备将数字号和批次号求和,然后基于数字位秘钥标识的二进制位数进行取余运算,计算得到数字位秘钥标识。
作为一个示例,计算机设备根据数字号和批次号,基于以下公式计算数字位秘钥标识:
NUM_INDED=(NUM+BATCH)%(2^L)
其中,NUM_INDED表示数字位秘钥标识,NUM表示数字号,BATCH表示批次号,符号“%”表示取余,“^”表示“次方”,L表示数字位秘钥标识的二进制位数。
可选地,所述根据已获得的数字号和批次号计算数字位秘钥标识的操作包括:根据已获得的数字号、批次号以及兑换码类型,计算数字位秘钥标识。例如,计算机设备将数字号、批次号以及兑换码类型求和,然后基于数字位秘钥标识的二进制位数进行取余运算,计算得到数字位秘钥标识。
其中,计算机设备可基于任何对称加密算法,使用所述数字位秘钥标识对应的数字位秘钥对所述数字号进行对称加密,获得加密后的数字位信息,本申请对于所使用的对称加密算法并不作任何限制。
需要说明的是,上述举例仅为更好地说明本申请的技术方案,而非对本申请的限制,本领域技术人员应该理解,任何根据已获得的数字号和批次号计算数字位秘钥标识,使用所述数字位秘钥标识对应的数字位秘钥对所述数字号进行对称加密,获得数字位信息的实现方式,均应包含在本申请的范围内。
在步骤S12中,计算机设备根据所述数字位秘钥标识和所述数字位信息,获得第一主体信息。
作为一种优选方案,所述步骤S12进一步包括步骤S121和步骤S122。
在所述步骤S121中,计算机设备根据所述数字位秘钥标识和所述数字位信息,获得初始主体信息。
其中,所述步骤S121的实现方式包括但不限于:
1)计算机设备将所述数字位秘钥标识和所述数字位信息进行组合,获得初始主体信息。
具体地,计算机设备将所述数字位秘钥标识对应的二进制数据和所述数字位信息对应的二进制数据进行组合,获得初始主体信息。例如,数字位秘钥标识对应的二进制数据为“100”(位数为3),数字位信息对应的二进制数据为“11010010101010101111010101111111”(位数为32),则按照数字位信息在前且数字位秘钥标识在后的顺序进行组合,得到初始主体信息“11010010101010101111010101111111100”(位数为35)。
2)计算机设备根据所述数字位秘钥标识和所述数字位信息,计算校验位信息;将所述校验位信息、所述数字位秘钥标识以及所述数字位信息进行组合,获得初始主体信息。
具体地,计算机设备将数字位秘钥标识和数字位信息求和(需要说明的是,上下文中涉及的“求和”运算均是指十进制数的求和),然后进行取余运算,得到校验位信息,之后,将所述校验位信息、所述数字位秘钥标识以及所述数字位信息所分别对应的二进制数按照预定顺序进行组合,获得初始主体信息。
需要说明的是,可选地,计算机设备可直接将所述初始主体信息作为所述第一主体信息,而无需再执行步骤S122。
在所述步骤S122中,计算机设备根据预设主体秘钥对所述初始主体信息进行对称加密,获得第一主体信息。
其中,所述步骤S122的实现方式包括但不限于:
1)计算机设备直接使用预设主体秘钥对所述初始主体信息进行对称加密,获得第一主体信息。其中,计算机设备可基于任何对称加密算法,使用预设主体秘钥对所述初始主体信息进行对称加密,本申请并所采用的对称加密算法并不作任何限制。
2)计算机设备使用预设批次秘钥对所述批次号进行对称加密,获得第一秘钥;接着,将预设主体秘钥的公共部分和所述第一秘钥进行组合,获得第二秘钥;之后,使用所述第二秘钥对所述初始主体信息进行对称加密,获得第一主体信息。
例如,批次号的二进制位数为20位,使用预设批次秘钥对批次号进行对称加密,获得20位的二进制数,将该20位的二进制数作为第一秘钥,之后,将预设主体秘钥的公共部分(该公共部分的二进制位数为30位)和该第一秘钥进行组合获得第二秘钥,之后使用该第二秘钥对初始主体信息的二进制数进行对称加密,获得第一主体信息。图2示出了本申请一个示例的获得第二秘钥的示意图,其中,预设主体秘钥的公共部分K1为30位的二进制数,第一秘钥K2为20位的二进制数,将K2插入到K1中,插入点为(批次号%30),需要说明的是,插入点的计算方式仅为举例,而非对本申请的限制。
需要说明的是,上述举例仅为更好地说明本申请的技术方案,而非对本申请的限制,本领域技术人员应该理解,任何根据所述数字位秘钥标识和所述数字位信息,获得第一主体信息的实现方式,均应包含在本申请的范围内。
在所述步骤S13中,计算机设备根据所述数字号和所述批次号计算批次位秘钥标识,使用所述批次位秘钥标识对应的批次位秘钥对所述批次号进行对称加密,获得批次位信息。
可选地,计算机设备将数字号和批次号求和,然后基于批次位秘钥标识的二进制位数进行取余运算,计算得到批次位秘钥标识。例如,批次位秘钥标识的二进制位数为5,则计算机设备将数字号和批次号求和得到NUM,再基于公式“NUM%(2^5)”来计算得到批次位秘钥标识。
可选地,所述根据所述数字号和所述批次号计算批次位秘钥标识的操作包括:根据所述数字号、所述批次号以及所述兑换码类型,计算批次位秘钥标识。例如,计算机设备将数字号、批次号以及兑换码类型求和,然后基于批次位秘钥标识的二进制位数进行取余运算,计算得到批次位秘钥标识。
其中,计算机设备可基于任何对称加密算法,使用所述批次位秘钥标识对应的批次位秘钥对所述批次号进行对称加密,获得加密后的批次位信息,本申请对于所使用的对称加密算法并不作任何限制。
需要说明的是,上述举例仅为更好地说明本申请的技术方案,而非对本申请的限制,本领域技术人员应该理解,任何根据所述数字号和所述批次号计算批次位秘钥标识,使用所述批次位秘钥标识对应的批次位秘钥对所述批次号进行对称加密,获得批次位信息的实现方式,均应包含在本申请的范围内。
在步骤S14中,计算机设备根据所述第一主体信息、所述批次位秘钥标识以及所述批次位信息,生成兑换码。
在步骤S14中,计算机设备可采用多种实现方式来生成兑换码。
作为一种示例实现方式,计算机设备按照预定编码规则中各个部分的顺序将第一主体信息、批次位秘钥标识以及批次位信息所分别对应的二进制数进行组合,并将组合后的二进制数通过BASE32算法转换成一个字符串,该字符串即为所生成的兑换码。
作为另一种示例实现方式,该方法还包括在步骤S14之前执行的步骤S15。在步骤S15中,计算机设备根据兑换码类型,获得类型位信息;则在步骤S14中,计算机设备根据所述第一主体信息、所述批次位秘钥标识、所述批次位信息以及所述类型位信息,生成兑换码。本实现方式采用的预定编码规则中包括类型位部分以及类型位部分的长度。
其中,计算机设备可采用多种实现方式来根据兑换码类型获得类型位信息。作为一种示例实现方式,计算机设备中预先存储有不同兑换码类型对应的类型位信息,在步骤S15中,计算机设备直接读取与当前要生成的兑换码的兑换码类型对应的类型位信息。作为另一种示例实现方式,计算机设备根据兑换码类型,以及所述数字号和/或所述批次号,计算类型位信息;例如,计算机设备将所述兑换码类型和所述数字号进行求和运算,然后基于类型位信息的二进制位数进行取余运算,来得到类型位信息;又例如,计算机设备将所述兑换码类型、所述数字号以及所述批次号进行求和运算,然后基于类型位信息的二进制位数进行取余运算,来得到类型位信息。
作为本实现方式的一个示例,在步骤S15中,计算机设备将数字号和兑换码类型进行求和,然后,基于类型位信息的二进制位置进行取余运算,得到类型位信息;在步骤S14中,计算机设备按照预定编码规则中各个部分的顺序将第一主体信息、批次位秘钥标识、批次位信息以及类型位信息所分别对应的二进制数进行组合,并将组合后的二进制数通过BASE32算法转换成一个字符串,该字符串即为所生成的兑换码。
作为另一种示例实现方式,所述步骤S14包括:根据所述第一主体信息、所述批次位秘钥标识以及所述批次位信息,生成第二主体信息;根据所述数字号和所述批次号,计算随机打乱标识,并根据所述随机打乱标识对应的随机数种子将所述第二主体信息打乱,得到第三主体信息;根据所述第三主体信息和所述随机打乱标识,生成兑换码。本实现方式采用的预定编码规则中包括随机打乱标识以及随机打乱标识的长度。
其中,所述“根据所述第一主体信息、所述批次位秘钥标识以及所述批次位信息,生成第二主体信息”的实现方式与前述步骤S14的其他实现方式相似;例如,将第一主体信息、批次位秘钥标识、批次位信息以及类型位信息所分别对应的二进制数进行组合,并将组合后的二进制数通过BASE32算法转换成一个字符串,将该字符串作为第二主体信息;又例如,将第一主体信息、批次位秘钥标识、批次位信息以及类型位信息所分别对应的二进制数进行组合,并将组合后的二进制数通过BASE32算法转换成一个字符串,将该字符串作为第二主体信息。
其中,计算机设备可采用多种方式根据所述第三主体信息和所述随机打乱标识,生成兑换码。例如,计算机设备将第三主体信息通过BASE32算法转换成一个字符串Str1,将随机打乱标识通过BASE32算法转换成一个字符串Str2,之后,将Str1和Str2拼接得到最终的兑换码;又例如,计算机设备将第三主体信息对应的二进制数和随机打乱标识对应的二进制数组合得到一个二进制数,并将该组合得到的二进制数通过BASE32算法转换成一个字符串,该字符串即为最终的兑换码。
需要说明的是,上述举例仅为更好地说明本申请的技术方案,而非对本申请的限制,本领域技术人员应该理解,任何根据所述第一主体信息、所述批次位秘钥标识以及所述批次位信息,生成兑换码的实现方式,均应包含在本申请的范围内。
图3为本申请一个实施例的用于验证兑换码的方法的流程示意图。本实施例描述是针对基于本申请的用于生成兑换码的方法所生成的兑换码的验证方案。根据本实施例的方法包括步骤S21、步骤S22、步骤S23和步骤S24。
在所述步骤S21中,计算机设备检测接收到的兑换码的长度是否为预定长度,若是,从所述兑换码中解析出第一主体信息、批次位秘钥标识以及批次位信息。
具体地,计算机设备接收兑换码并检测该兑换码的字符长度是否为预定长度,若是,从所述兑换码中解析出第一主体信息、批次位秘钥标识以及批次位信息,若否,则判定验证失败。其中,计算机设备基于用于生成兑换码的预定编码规则可获知所述预定长度。
需要说明的是,若无法成功从该接收到的兑换码中解析出第一主体信息、批次位秘钥标识以及批次位信息,则判定验证失败。需要说明的是,“从所述兑换码中解析出第一主体信息、批次位秘钥标识以及批次位信息”的过程与生成兑换码时“根据第一主体信息、批次位秘钥标识以及批次位信息来生成兑换码”的过程是相逆的。
作为一种示例实现方式,若检测到接收到的兑换码的长度为预定长度,计算机设备基于预定编码规则,从主体部分对应的字符位置提取出第一主体信息,从批次位秘钥标识部分对应的字符位置提取出批次位秘钥标识,从批次部分对应的字符位置提取出批次位信息。
作为另一种示例实现方式,所述兑换码还包括随机打乱标识,也即,所述兑换码是根据第三主体信息和随机打乱标识来生成得到的,所述步骤S21包括:检测接收到的兑换码的长度是否为预定长度,若是,从所述兑换码中解析出所述随机打乱标识以及第三主体信息;根据所述随机打乱标识对应的随机数种子对所述第三主体信息执行还原操作,得到第二主体信息;从所述第二主体信息中提取出第一主体信息、批次位秘钥标识以及批次位信息。
需要说明的是,上述举例仅为更好地说明本申请的技术方案,而非对本申请的限制,本领域技术人员应该理解,任何检测接收到的兑换码的长度是否为预定长度,若是,从所述兑换码中解析出第一主体信息、批次位秘钥标识以及批次位信息的实现方式,均应包含在本申请的范围内。
在所述步骤S22中,计算机设备使用所述批次位秘钥标识对应的批次位秘钥对所述批次位信息进行对称解密,获得批次号。
具体地,计算机设备将所述批次位信息转换为二进制数,并使用所述批次位秘钥标识对应的批次位秘钥对该转换后的二进制数进行解密,获得批次号。计算机设备对所述批次位信息进行对称解密的过程与前述步骤S13中计算机设备对批次号进行对称加密的过程是相逆的,在此不再赘述。需要说明的是,若无法成功获得批次号,则判定验证失败。
在所述步骤S23中,计算机设备根据所述第一主体信息,获得数字位秘钥标识和数字位信息,使用所述数字位秘钥标识对所述数字位信息进行对称解密,获得数字号。
其中,计算机设备根据所述第一主体信息,获得数字位秘钥标识和数字位信息的实现方式与前述步骤S12的实现方式是相逆的。其中,计算机设备使用所述数字位秘钥标识对所述数字位信息进行对称解密,获得数字号的过程与前述步骤S11中对数字号进行对称加密的过程是相逆的。需要说明的是,若无法成功获得数字号,则判定验证失败。
作为一种示例实现方式,若所述第一主体信息是根据预设主体秘钥对初始主体信息进行对称加密获得的,所述初始主体信息包括数字位秘钥标识和数字位信息,则所述根据所述第一主体信息,获得数字位秘钥标识和数字位信息的操作包括:根据所述预设主体秘钥对所述第一主体信息进行解密,获得所述初始主体信息;从所述初始主体信息中提取出数字位秘钥标识和数字位信息。
优选地,所述根据所述预设主体秘钥对所述第一主体信息进行解密,获得所述初始主体信息的步骤包括:使用预设批次秘钥对所述批次号进行对称加密,获得第一秘钥;将预设主体秘钥的公共部分和所述第一秘钥进行组合,获得第二秘钥;使用所述第二秘钥对所述第一主体信息进行解密,获得初始主体信息。
在所述步骤S24中,计算机设备根据所述数字号、所述批次号以及预定配表,检测所述兑换码是否具备有效性,若是,判定验证成功,否则,判定验证失败。
优选地,所述预定配表以批次号为主键,所述预定配表中包括批次号以及批次号对应的配置信息,优选地,批次号对应的配置信息包括但不限于1)批次类型;2)兑换码数量;3)有效时间/截止时间;4)可用渠道;5)屏蔽渠道。需要说明的是,优选地,所述预定配表中还包括与所兑换物品相关的其他配置信息,如用于兑换的物品、物品数量、用于指示是否具备绑定关系的信息(如是否绑定有其他道具等)等。需要说明的是,策划人员可以基于实际需求预先设定每个批次号对应的预定配表,且可通过修改该配表来方便地调整一个批次的兑换码的兑换方案,从而能够实现自由配置。
作为一个示例,计算机设备基于如下步骤来验证兑换码是否具备有效性:1)根据所获得的批次号判断是否有与该批次号对应的预定配表,若没有,则判定验证失败,若有,继续第2)步;2)根据所述数字号判断该数字号是否大于base(其中,base=(2^M-1)/N,该计算公式已在上文中予以详述)且能整除base,若否,则判定验证失败,若是,继续第3)步;3)检查兑换码是否在预定配表中所指示的有效时间内,若是,则否,则判定验证失败,若是,继续第4)步;4)根据预定配表判断兑换码的来源是否为可用渠道,若否,则判定验证失败,若是,则判定验证成功。
可选地,可将“检测所述兑换码是否具备有效性”的检测过程划分为多个部分,每个部分包括多个验证操作,当通过一个部分的验证后,进入下一个部分的验证过程,而仅当通过整个检测过程,才判定验证成功,否则,判定验证失败。
作为一种示例实现方式,所述兑换码还包括类型位信息,本实施例的方法还包括如下操作:从所述兑换码中解析出所述类型位信息;根据预定配表中的兑换码类型,获得类型校验信息;检测所述类型位信息与所述类型校验信息是否一致,若不一致,则判定验证失败。上述操作可在步骤S24之前执行,也可在步骤S24中执行以验证兑换码的有效性,若不一致,则认为兑换码不具备有效性。
其中,所述“根据预定配表中的兑换码类型,获得类型校验信息”的实现方式与图1所示实施例中所述的“根据兑换码类型,获得类型位信息”的实现方式是相同的,在此不再赘述。其中,若兑换码不包括随机打乱部分,则计算机设备可基于预定编码规则所指示的类型位部分的字符位置直接提取出类型位信息;若兑换码包括随机打乱部分,则计算机设备可在执行前述还原操作后,基于预定编码规则所指示的类型位部分的字符位置从还原得到的字符串中提取出类型位信息。
其中,计算机设备根据所述数字号、所述批次号、所述兑换码类型以及预定配表,检测所述兑换码是否具备有效性的实现方式与前述检测所述兑换码是否具备有效性的实现方式相似(如可在上例中添加判断所确定的兑换码类型是否与预定配表中的兑换码类型一致的验证操作),在此不再赘述。
优选地,若所述类型位信息是根据兑换码类型,以及所述数字号和/或所述批次号所生成的,所述根据所述类型位信息确定兑换码类型的步骤包括:根据所述类型位信息,以及所述数字号和/或所述批次号,确定兑换码类型。其中,“根据所述类型位信息,以及所述数字号和/或所述批次号,确定兑换码类型”的实现方式与前述“根据兑换码类型,以及所述数字号和/或所述批次号,计算类型位信息”是相逆的,在此不再赘述。
作为一种优选方案,若所述初始主体信息还包括检验位信息,该方法还包括在步骤S24之前执行的如下操作:从所述初始主体信息中提取出校验位信息;根据所述数字位秘钥标识和所述数字位信息进行校验计算,并判断计算结果与所述校验位信息是否一致,若否,则判定验证失败。其中,“根据所述数字位秘钥标识和所述数字位信息进行校验计算”的实现方式与前述“根据所述数字位秘钥标识和所述数字位信息,计算校验位信息”实现方式相同,在此不再赘述。
需要说明的是,若验证成功,则计算机设备可按照预定规则或者按照预定配表中与所兑换物品相关的其他配置信息向用户兑换物品。
以下结合图4和图5以一个具体示例来更详细的地说明本申请的用于生成和验证兑换码的方案。
1.关于预定编码规则
设定兑换码采用15位字符,且每个字符可为大字字母或数字,则去掉4个相似的字符(0,1,I,O)后剩余32个字符,字符集为('2','3','4','5','6','7','8','9','A','B','C','D','E','F','G','H','J','K','L','M','N','P','Q','R','S','T','U','V','W','X','Y','Z'),因此一个字符可以转换为5位二进制数,15位字符则对应75位二进制数。基于此,设定如下的预定编码规则:
32(A)3(C)5(D)20(E)5(F)5(G)5(B)
该预定编码规则中包括七个部分,其中,A为数字位部分(取值为大于等于0的整数),A的二进制位数为32位,B为随机打乱标识部分,B的二进制位数为5位,C为数字位秘钥标识部分(其取值为从0至7的整数),C的二进制位数为3位(也即支持8个数字位秘钥),D为校验位部分,D的二进制位数为5位,E为批次位部分,E的二进制位数为20位(也即表示有2的20次方个批次),F为批次位秘钥标识部分,F的二进制位数为5位(也即支持32个批次位秘钥),G为类型位部分,G的二进制位数为5位(也即支持32种兑换码类型,策划人员可针对每种兑换码类型设定兑换逻辑)。基于该预定编码规则,可支持2的20次方个批次(相当于2的20次方种的兑换码),每个批次可有2的32次方个兑换码。
2.生成过程
基于该预定编码规则,用于生成兑换码的具体方案如下:
1)获得用于生成兑换码以下数据:数字号、批次号、兑换码类型。其中,根据该批次号对应的兑换码数量,采用前述公式“Numi=base+base*i”(本示例中,base=(2147483647/兑换码数量)),将数字均匀的分散在0至2147483647之间;
2)根据数字号和批次号计算数字位秘钥标识,数字位秘钥标识NUM_INDED=(数字号+批次号)%8,之后,使用NUM_INDED对应的数字位秘钥对该数字号进行对称加密,得到加密后的32位二进制数,也即数字位信息;
3)将NUM_INDED对应的二进制数所述和数字位信息组合后进行十进制转换,得到数字W1,基于算法“W1%32”计算得到5位校验位信息;
4)将5位的校验位信息、3位的数字位秘钥标识、32位的数字位信息组合得到40位的初始主体信息;
5)根据数字号和批次号计算批次位秘钥标识,批次位秘钥标识BATCH_INDEX=(数字号+批次号)%32,之后,使用BATCH_INDEX对应的批次位秘钥对批次号进行对称加密,得到加密后的20位二进制数,也即批次位信息;
6)使用预设批次秘钥对该批次号进行对称加密,获得第一秘钥;接着,将预设主体秘钥的公共部分和该第一秘钥进行组合,获得第二秘钥;之后,使用该第二秘钥对4)中获得的初始主体信息进行对称加密,获得40位的第一主体信息;
7)根据数字号和兑换码类型计算出5位类型位信息,其中,TYPE=(数字号+类型号)%32,TYPE表示类型位信息对应的十进制数;
8)将40位的第一主体信息、20位的批次位信息、5位的批次位秘钥标识、5位的类型位信息进行组合,得到70位的二进制数,也即第二主体信息;
9)基于算法“(数字号+批次号+兑换码类型)%32”计算得到随机打乱标识,使用随机打乱标识获得其对应的随机数种子,根据该随机数种子随机打乱第二主体信息,得到70位的第三主体信息,将该第三主体信息通过BASE32算法转换成一个字符串Str1,将随机打乱标识通过BASE32算法转换成一个字符串Str2,将Str1和Str2拼接得到最终的兑换码。
图4为基于本示例中的预定编码规则生成的兑换码的字符划分图,其中,第1至8个字符为第一主体部分,第9至12个字符为批次位部分,第13个字符为批次位秘钥标识部分,第14个字符为类型位部分,第15位字符为随机打乱标识部分。图5位基于本示例的预定编码规则生成的兑换码的位数划分图,其中,第1至32位为数字位部分,第33至35位为数字位秘钥标识部分,第36至40位为校验位部分,第41至60位为批次位部分,第61至65位为批次位秘钥标识部分,第66至70位为类型位部分,第71至75位为随机打乱部分。
3.验证过程
本示例中,仅描述基于接收到的兑换码获得批次号、数字号、兑换码类型的该部分验证过程,而在获得批次号、数字号、兑换码类型之后,如何进一步验证该兑换码是都具备有效性的过程在此不再赘述。
基于接收到的兑换码获得批次号、数字号、兑换码类型的该部分验证过程具体如下:
1)检测接收到的兑换码的长度是否为15位,若否,判定验证失败,若是,进入2);
2)截取第15位字符,获得随机打乱标识,根据随机打乱标识对当前第1至14位字符执行还原操作,得到还原后的第1至14位字符;
3)从还原后的第1至14位字符中截取第13位字符,并将其转换为十进制数,获得批次位秘钥标识;
4)根据批次位秘钥标识获取其所对应的批次位秘钥,从还原后的第1至14位字符中截取第9至12位字符并转换为二进制数,使用批次位秘钥对转换得到的该二进制数进行对称解密,获得批次号;
5)从还原后的第1至14位字符中截取第1至8位字符并转换为二进制数,也即得到40位的第一主体信息,根据批次号计算得到第二秘钥(在此不再详述得到第二秘钥的过程),使用该第二秘钥对该40位的第一主体信息进行解密,得到40位初始主体信息;
6)从初始主体信息中提取数字位秘钥标识和数字位信息,并使用数字位秘钥标识对应的数字位秘钥对数字位信息进行对称解密,获得数字号;
7)从初始主体信息中提取校验位信息,根据数字位秘钥标识和数字位信息进行校验计算,并判断计算结果与所提取的校验位信息是否一致,若否,则判定验证失败;
8)从还原后的第1至14位字符中截取第14位字符,获得类型位信息,根据该类型位信息确定兑换码类型。
若兑换码通过了上述验证过程1)-8),获得了批次号、数字号和兑换码类型,则判定验证成功,否则,判定验证失败。
图6为本申请一个实施例的用于生成兑换码的第一装置的结构示意图。该第一装置1包括第一获得装置11、第二获得装置12、第三获得装置13以及生成装置14。
需要说明的是,计算机设备中预先存储有用于生成兑换码的预定编码规则,该预定编码规则用于指示兑换码所包括的多个部分以及每个部分的长度(包括字符数和/或位数),本实施例中,兑换码至少包括以下部分:与第一主体信息对应的第一主体部分(该第一主体部分至少包括与数字位信息对应的数字位部分和与数字位秘钥标识对应的数字位秘钥标识部分)、与批次位秘钥标识对应的批次位秘钥标识部分、与批次位信息对应的批次部分。
需要说明的是,在第一获得装置11执行操作之前,计算机设备已获得用于生成兑换码的批次号以及与该批次号对应的至少一个数字号,针对所获得的每个数字号,计算机设备执行本实施例的方案来获得该数字号对应的兑换码(需要说明的是,上下文中所述的“数字号”和“批次号”均为十进制数字)。其中,计算机设备可采用多种方式获得用于生成兑换码的批次号,如计算机设备获得用户输入的批次号,又如计算机设备获得其他设备发送的批次号,再如,计算机设备通过下文所述的预定配表读取批次号。其中,计算机设备可采用多种方式获得至少一个数字号,例如,计算机设备在一个预定数字范围内先随机生成一个数字号X,之后使得X依次递增第一固定值来获得多个数字号,并使得X依次递减第二固定值来获得多个数字号,该第一固定值与第二固定值可能相同也可能不同(需要说明的是,所获得的数字号均需落入该预定数字范围内,若执行递增操作后获得的数字号大于或等于该预定数字范围的上限,则不再继续执行递增操作,相似的,若执行递减操作后获得的数字号小于或等于该预定数字范围的下限,则不再继续执行递减操作)。
可选地,该第一装置1还包括用于根据预设数字位位数,基于以下公式获得数字号的装置:
Numi=base+base*i
其中,Numi表示第i个数字号,i=0,1,2,…,N-1,N为所述批次号对应的兑换码数量,base=(2^M-1)/N,M表示预设数字位位数,“^”表示“次方”。例如,基于预定编码规则,预设数字位位数为32位,兑换码数量为100,则base=(2^32-1)/100=2147483647/100=21474836,则第0个数字号Num0=21474836+21474836*0=21474836,第1个数字号Num1=21474836+21474836*1=42949672,由此类推,可获得该批次号对应的100个数字号。
需要说明的是,上述举例仅为更好地说明本申请的技术方案,而非对本申请的限制,本领域技术人员应该理解,任何用于获得批次号和数字号的实现方式,均应包含在本申请的范围内。
第一获得装置11被配置用于:根据已获得的数字号和批次号计算数字位秘钥标识,使用所述数字位秘钥标识对应的数字位秘钥对所述数字号进行对称加密,获得数字位信息。
可选地,第一获得装置11将数字号和批次号求和,然后基于数字位秘钥标识的二进制位数进行取余运算,计算得到数字位秘钥标识。
作为一个示例,第一获得装置11根据数字号和批次号,基于以下公式计算数字位秘钥标识:
NUM_INDED=(NUM+BATCH)%(2^L)
其中,NUM_INDED表示数字位秘钥标识,NUM表示数字号,BATCH表示批次号,符号“%”表示取余,“^”表示“次方”,L表示数字位秘钥标识的二进制位数。
可选地,所述根据已获得的数字号和批次号计算数字位秘钥标识的操作包括:根据已获得的数字号、批次号以及兑换码类型,计算数字位秘钥标识。例如,第一获得装置11将数字号、批次号以及兑换码类型求和,然后基于数字位秘钥标识的二进制位数进行取余运算,计算得到数字位秘钥标识。
其中,第一获得装置11可基于任何对称加密算法,使用所述数字位秘钥标识对应的数字位秘钥对所述数字号进行对称加密,获得加密后的数字位信息,本申请对于所使用的对称加密算法并不作任何限制。
需要说明的是,上述举例仅为更好地说明本申请的技术方案,而非对本申请的限制,本领域技术人员应该理解,任何根据已获得的数字号和批次号计算数字位秘钥标识,使用所述数字位秘钥标识对应的数字位秘钥对所述数字号进行对称加密,获得数字位信息的实现方式,均应包含在本申请的范围内。
第二获得装置12被配置用于根据所述数字位秘钥标识和所述数字位信息,获得第一主体信息。
作为一种优选方案,所述第二获得装置12进一步配置用于:根据所述数字位秘钥标识和所述数字位信息,获得初始主体信息;根据预设主体秘钥对所述初始主体信息进行对称加密,获得第一主体信息。
所述据所述数字位秘钥标识和所述数字位信息,获得初始主体信息的操作实现方式包括但不限于:
1)将所述数字位秘钥标识和所述数字位信息进行组合,获得初始主体信息。
具体地,所述第二获得装置12将所述数字位秘钥标识对应的二进制数据和所述数字位信息对应的二进制数据进行组合,获得初始主体信息。例如,数字位秘钥标识对应的二进制数据为“100”(位数为3),数字位信息对应的二进制数据为“11010010101010101111010101111111”(位数为32),则所述第二获得装置12按照数字位信息在前且数字位秘钥标识在后的顺序进行组合,得到初始主体信息“11010010101010101111010101111111100”(位数为35)。
2)根据所述数字位秘钥标识和所述数字位信息,计算校验位信息;将所述校验位信息、所述数字位秘钥标识以及所述数字位信息进行组合,获得初始主体信息。
具体地,所述第二获得装置12将数字位秘钥标识和数字位信息求和(需要说明的是,上下文中涉及的“求和”运算均是指十进制数的求和),然后进行取余运算,得到校验位信息,之后,将所述校验位信息、所述数字位秘钥标识以及所述数字位信息所分别对应的二进制数按照预定顺序进行组合,获得初始主体信息。
需要说明的是,可选地,所述第二获得装置12可直接将所述初始主体信息作为所述第一主体信息,而无需再执行后续操作。
所述根据预设主体秘钥对所述初始主体信息进行对称加密,获得第一主体信息的操作的实现方式包括但不限于:
1)使用预设主体秘钥对所述初始主体信息进行对称加密,获得第一主体信息。其中,所述第二获得装置12可基于任何对称加密算法,使用预设主体秘钥对所述初始主体信息进行对称加密,本申请并所采用的对称加密算法并不作任何限制。
2)使用预设批次秘钥对所述批次号进行对称加密,获得第一秘钥;接着,将预设主体秘钥的公共部分和所述第一秘钥进行组合,获得第二秘钥;之后,使用所述第二秘钥对所述初始主体信息进行对称加密,获得第一主体信息。
例如,批次号的二进制位数为20位,所述第二获得装置12使用预设批次秘钥对批次号进行对称加密,获得20位的二进制数,将该20位的二进制数作为第一秘钥,之后,所述第二获得装置12将预设主体秘钥的公共部分(该公共部分的二进制位数为30位)和该第一秘钥进行组合获得第二秘钥,之后,所述第二获得装置12使用该第二秘钥对初始主体信息的二进制数进行对称加密,获得第一主体信息。图2示出了本申请一个示例的获得第二秘钥的示意图,其中,预设主体秘钥的公共部分K1为30位的二进制数,第一秘钥K2为20位的二进制数,将K2插入到K1中,插入点为(批次号%30),需要说明的是,插入点的计算方式仅为举例,而非对本申请的限制。
需要说明的是,上述举例仅为更好地说明本申请的技术方案,而非对本申请的限制,本领域技术人员应该理解,任何根据所述数字位秘钥标识和所述数字位信息,获得第一主体信息的实现方式,均应包含在本申请的范围内。
所述第三获得装置13被配置用于:根据所述数字号和所述批次号计算批次位秘钥标识,使用所述批次位秘钥标识对应的批次位秘钥对所述批次号进行对称加密,获得批次位信息。
可选地,所述第三获得装置13将数字号和批次号求和,然后基于批次位秘钥标识的二进制位数进行取余运算,计算得到批次位秘钥标识。例如,批次位秘钥标识的二进制位数为5,则所述第三获得装置13将数字号和批次号求和得到NUM,再基于公式“NUM%(2^5)”来计算得到批次位秘钥标识。
可选地,所述根据所述数字号和所述批次号计算批次位秘钥标识的操作包括:根据所述数字号、所述批次号以及所述兑换码类型,计算批次位秘钥标识。例如,计算机设备将数字号、批次号以及兑换码类型求和,然后基于批次位秘钥标识的二进制位数进行取余运算,计算得到批次位秘钥标识。
其中,所述第三获得装置13可基于任何对称加密算法,使用所述批次位秘钥标识对应的批次位秘钥对所述批次号进行对称加密,获得加密后的批次位信息,本申请对于所使用的对称加密算法并不作任何限制。
需要说明的是,上述举例仅为更好地说明本申请的技术方案,而非对本申请的限制,本领域技术人员应该理解,任何根据所述数字号和所述批次号计算批次位秘钥标识,使用所述批次位秘钥标识对应的批次位秘钥对所述批次号进行对称加密,获得批次位信息的实现方式,均应包含在本申请的范围内。
生成装置14被配置用于:根据所述第一主体信息、所述批次位秘钥标识以及所述批次位信息,生成兑换码。
生成装置14可采用多种实现方式来生成兑换码。
作为一种示例实现方式,生成装置14按照预定编码规则中各个部分的顺序将第一主体信息、批次位秘钥标识以及批次位信息所分别对应的二进制数进行组合,并将组合后的二进制数通过BASE32算法转换成一个字符串,该字符串即为所生成的兑换码。
作为另一种示例实现方式,第一装置1还包括生成装置14之前执行操作的第四获得装置(图未示),该第四获得装置被配置用于根据兑换码类型,获得类型位信息;则生成装置14被进一步配置用于:根据所述第一主体信息、所述批次位秘钥标识、所述批次位信息以及所述类型位信息,生成兑换码。本实现方式采用的预定编码规则中包括类型位部分以及类型位部分的长度。
其中,第四获得装置可采用多种实现方式来根据兑换码类型获得类型位信息。作为一种示例实现方式,计算机设备中预先存储有不同兑换码类型对应的类型位信息,第四获得装置直接读取与当前要生成的兑换码的兑换码类型对应的类型位信息。作为另一种示例实现方式,第四获得装置根据兑换码类型,以及所述数字号和/或所述批次号,计算类型位信息;例如,第四获得装置将所述兑换码类型和所述数字号进行求和运算,然后基于类型位信息的二进制位数进行取余运算,来得到类型位信息;又例如,第四获得装置将所述兑换码类型、所述数字号以及所述批次号进行求和运算,然后基于类型位信息的二进制位数进行取余运算,来得到类型位信息。
作为本实现方式的一个示例,第四获得装置将数字号和兑换码类型进行求和,然后,基于类型位信息的二进制位置进行取余运算,得到类型位信息;生成装置14按照预定编码规则中各个部分的顺序将第一主体信息、批次位秘钥标识、批次位信息以及类型位信息所分别对应的二进制数进行组合,并将组合后的二进制数通过BASE32算法转换成一个字符串,该字符串即为所生成的兑换码。
作为另一种示例实现方式,生成装置14被配置用于:根据所述第一主体信息、所述批次位秘钥标识以及所述批次位信息,生成第二主体信息;根据所述数字号和所述批次号,计算随机打乱标识,并根据所述随机打乱标识对应的随机数种子将所述第二主体信息打乱,得到第三主体信息;根据所述第三主体信息和所述随机打乱标识,生成兑换码。本实现方式采用的预定编码规则中包括随机打乱标识以及随机打乱标识的长度。
其中,所述“根据所述第一主体信息、所述批次位秘钥标识以及所述批次位信息,生成第二主体信息”的实现方式与前述生成装置14的其他实现方式相似;例如,生成装置14将第一主体信息、批次位秘钥标识、批次位信息以及类型位信息所分别对应的二进制数进行组合,并将组合后的二进制数通过BASE32算法转换成一个字符串,将该字符串作为第二主体信息;又例如,生成装置14将第一主体信息、批次位秘钥标识、批次位信息以及类型位信息所分别对应的二进制数进行组合,并将组合后的二进制数通过BASE32算法转换成一个字符串,将该字符串作为第二主体信息。
其中,生成装置14可采用多种方式根据所述第三主体信息和所述随机打乱标识,生成兑换码。例如,生成装置14将第三主体信息通过BASE32算法转换成一个字符串Str1,将随机打乱标识通过BASE32算法转换成一个字符串Str2,之后,将Str1和Str2拼接得到最终的兑换码;又例如,生成装置14将第三主体信息对应的二进制数和随机打乱标识对应的二进制数组合得到一个二进制数,并将该组合得到的二进制数通过BASE32算法转换成一个字符串,该字符串即为最终的兑换码。
需要说明的是,上述举例仅为更好地说明本申请的技术方案,而非对本申请的限制,本领域技术人员应该理解,任何根据所述第一主体信息、所述批次位秘钥标识以及所述批次位信息,生成兑换码的实现方式,均应包含在本申请的范围内。
图7为本申请一个实施例的用于验证兑换码的第二装置的结构示意图。本实施例描述是针对基于本申请的用于生成兑换码的方法所生成的兑换码的验证方案。该第二装置2包括第一检测装置21、第一解密装置22、第二解密装置23以及第二检测装置24。
第一检测装置21被配置用于:检测接收到的兑换码的长度是否为预定长度,若是,从所述兑换码中解析出第一主体信息、批次位秘钥标识以及批次位信息。
具体地,第一检测装置21接收兑换码并检测该兑换码的字符长度是否为预定长度,若是,从所述兑换码中解析出第一主体信息、批次位秘钥标识以及批次位信息,若否,则判定验证失败。其中,第一检测装置21基于用于生成兑换码的预定编码规则可获知所述预定长度。
需要说明的是,若无法成功从该接收到的兑换码中解析出第一主体信息、批次位秘钥标识以及批次位信息,则判定验证失败。需要说明的是,“从所述兑换码中解析出第一主体信息、批次位秘钥标识以及批次位信息”的过程与生成兑换码时“根据第一主体信息、批次位秘钥标识以及批次位信息来生成兑换码”的过程是相逆的。
作为一种示例实现方式,若检测到接收到的兑换码的长度为预定长度,第一检测装置21基于预定编码规则,从主体部分对应的字符位置提取出第一主体信息,从批次位秘钥标识部分对应的字符位置提取出批次位秘钥标识,从批次部分对应的字符位置提取出批次位信息。
作为另一种示例实现方式,所述兑换码还包括随机打乱标识,也即,所述兑换码是根据第三主体信息和随机打乱标识来生成得到的,所述第一检测装置21被配置用于:检测接收到的兑换码的长度是否为预定长度,若是,从所述兑换码中解析出所述随机打乱标识以及第三主体信息;根据所述随机打乱标识对应的随机数种子对所述第三主体信息执行还原操作,得到第二主体信息;从所述第二主体信息中提取出第一主体信息、批次位秘钥标识以及批次位信息。
需要说明的是,上述举例仅为更好地说明本申请的技术方案,而非对本申请的限制,本领域技术人员应该理解,任何检测接收到的兑换码的长度是否为预定长度,若是,从所述兑换码中解析出第一主体信息、批次位秘钥标识以及批次位信息的实现方式,均应包含在本申请的范围内。
第一解密装置22被配置用于:使用所述批次位秘钥标识对应的批次位秘钥对所述批次位信息进行对称解密,获得批次号。
具体地,所述第一解密装置22将所述批次位信息转换为二进制数,并使用所述批次位秘钥标识对应的批次位秘钥对该转换后的二进制数进行解密,获得批次号。所述第一解密装置22对所述批次位信息进行对称解密的过程与前述第三获得装置13对批次号进行对称加密的过程是相逆的,在此不再赘述。需要说明的是,若无法成功获得批次号,则判定验证失败。
第二解密装置23被配置用于:根据所述第一主体信息,获得数字位秘钥标识和数字位信息,使用所述数字位秘钥标识对所述数字位信息进行对称解密,获得数字号。
其中,第二解密装置23根据所述第一主体信息,获得数字位秘钥标识和数字位信息的实现方式与前述第二获得装置12的实现方式是相逆的。其中,第二解密装置23使用所述数字位秘钥标识对所述数字位信息进行对称解密,获得数字号的过程与前述第一获得装置11对数字号进行对称加密的过程是相逆的。需要说明的是,若无法成功获得数字号,则判定验证失败。
作为一种示例实现方式,若所述第一主体信息是根据预设主体秘钥对初始主体信息进行对称加密获得的,所述初始主体信息包括数字位秘钥标识和数字位信息,则所述根据所述第一主体信息,获得数字位秘钥标识和数字位信息的操作包括:根据所述预设主体秘钥对所述第一主体信息进行解密,获得所述初始主体信息;从所述初始主体信息中提取出数字位秘钥标识和数字位信息。
优选地,所述根据所述预设主体秘钥对所述第一主体信息进行解密,获得所述初始主体信息的操作包括:使用预设批次秘钥对所述批次号进行对称加密,获得第一秘钥;将预设主体秘钥的公共部分和所述第一秘钥进行组合,获得第二秘钥;使用所述第二秘钥对所述第一主体信息进行解密,获得初始主体信息。
第二检测装置24被配置用于:根据所述数字号、所述批次号以及预定配表,检测所述兑换码是否具备有效性,若是,判定验证成功,否则,判定验证失败。
优选地,所述预定配表以批次号为主键,所述预定配表中包括批次号以及批次号对应的配置信息,优选地,批次号对应的配置信息包括但不限于1)批次类型;2)兑换码数量;3)有效时间/截止时间;4)可用渠道;5)屏蔽渠道。需要说明的是,优选地,所述预定配表中还包括与所兑换物品相关的其他配置信息,如用于兑换的物品、物品数量、用于指示是否具备绑定关系的信息(如是否绑定有其他道具等)等。需要说明的是,策划人员可以基于实际需求预先设定每个批次号对应的预定配表,且可通过修改该配表来方便地调整一个批次的兑换码的兑换方案,从而能够实现自由配置。
作为一个示例,所述第二检测装置24基于如下步骤来验证兑换码是否具备有效性:1)根据所获得的批次号判断是否有与该批次号对应的预定配表,若没有,则判定验证失败,若有,继续第2)步;2)根据所述数字号判断该数字号是否大于base(其中,base=(2^M-1)/N,该计算公式已在上文中予以详述)且能整除base,若否,则判定验证失败,若是,继续第3)步;3)检查兑换码是否在预定配表中所指示的有效时间内,若是,则否,则判定验证失败,若是,继续第4)步;4)根据预定配表判断兑换码的来源是否为可用渠道,若否,则判定验证失败,若是,则判定验证成功。
可选地,可将“检测所述兑换码是否具备有效性”的检测过程划分为多个部分,每个部分包括多个验证操作,当通过一个部分的验证后,进入下一个部分的验证过程,而仅当通过整个检测过程,才判定验证成功,否则,判定验证失败。
作为一种示例实现方式,所述兑换码还包括类型位信息,本实施例的第二装置2还包括:用于从所述兑换码中解析出所述类型位信息的装置;用于根据预定配表中的兑换码类型,获得类型校验信息的装置;用于检测所述类型位信息与所述类型校验信息是否一致,若不一致,则判定验证失败的装置。
其中,所述“根据预定配表中的兑换码类型,获得类型校验信息”的实现方式与前述“根据兑换码类型,获得类型位信息”的实现方式是相同的,在此不再赘述。其中,若兑换码不包括随机打乱部分,则确定装置可基于预定编码规则所指示的类型位部分的字符位置直接提取出类型位信息;若兑换码包括随机打乱部分,则确定装置可在执行前述还原操作后,基于预定编码规则所指示的类型位部分的字符位置从还原得到的字符串中提取出类型位信息。
其中,所述第二检测装置24根据所述数字号、所述批次号、所述兑换码类型以及预定配表,检测所述兑换码是否具备有效性的实现方式与前述检测所述兑换码是否具备有效性的实现方式相似(如可在上例中添加判断所确定的兑换码类型是否与预定配表中的兑换码类型一致的验证操作),在此不再赘述。
优选地,若所述类型位信息是根据兑换码类型,以及所述数字号和/或所述批次号所生成的,所述确定装置进一步用于:根据所述类型位信息,以及所述数字号和/或所述批次号,确定兑换码类型。其中,“根据所述类型位信息,以及所述数字号和/或所述批次号,确定兑换码类型”的实现方式与前述“根据兑换码类型,以及所述数字号和/或所述批次号,计算类型位信息”是相逆的,在此不再赘述。
作为一种优选方案,若所述初始主体信息还包括检验位信息,该第二装置2还包括在所述第二检测装置24之前执行操作的如下装置:用于从所述初始主体信息中提取出校验位信息的装置(以下简称为“提取装置”,图未示);用于根据所述数字位秘钥标识和所述数字位信息进行校验计算,并判断计算结果与所述校验位信息是否一致,若否,则判定验证失败的装置(以下简称为“校验装置”,图未示)。其中,“根据所述数字位秘钥标识和所述数字位信息进行校验计算”的实现方式与前述“根据所述数字位秘钥标识和所述数字位信息,计算校验位信息”实现方式相同,在此不再赘述。
需要说明的是,若验证成功,则计算机设备可按照预定规则或者按照预定配表中与所兑换物品相关的其他配置信息向用户兑换物品。
本申请还提供了一种计算机设备,其中,所述计算机设备包括:存储器,用于存储一个或多个程序;一个或多个处理器,与所述存储器相连,当所述一个或多个程序被所述一个或者多个处理器执行时,使得所述一个或多个处理器执行本申请所述的用于生成兑换码的方法。
本申请还提供了一种计算机设备,其中,所述计算机设备包括:存储器,用于存储一个或多个程序;一个或多个处理器,与所述存储器相连,当所述一个或多个程序被所述一个或者多个处理器执行时,使得所述一个或多个处理器执行本申请所述的用于验证兑换码的方法。
本申请还提供了一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序可被处理器执行本申请所述的用于生成兑换码的方法。
本申请还提供了一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序可被处理器执行本申请所述的用于验证兑换码的方法。
本申请还提供了一种计算机程序产品,当所述计算机程序产品被设备执行时,使得所述设备执行本申请所述的用于生成兑换码的方法。
本申请还提供了一种计算机程序产品,当所述计算机程序产品被设备执行本申请所述的用于验证兑换码的方法。
图8示出了可被用于实施本申请中所述的各个实施例的示例性系统。
在一些实施例中,系统1000能够作为本申请实施例中的任意一个处理设备。在一些实施例中,系统1000可包括具有指令的一个或多个计算机可读介质(例如,系统存储器或NVM/存储设备1020)以及与该一个或多个计算机可读介质耦合并被配置为执行指令以实现模块从而执行本申请中所述的动作的一个或多个处理器(例如,(一个或多个)处理器1005)。
对于一个实施例,系统控制模块1010可包括任意适当的接口控制器,以向(一个或多个)处理器1005中的至少一个和/或与系统控制模块1010通信的任意适当的设备或组件提供任意适当的接口。
系统控制模块1010可包括存储器控制器模块1030,以向系统存储器1015提供接口。存储器控制器模块1030可以是硬件模块、软件模块和/或固件模块。
系统存储器1015可被用于例如为系统1000加载和存储数据和/或指令。对于一个实施例,系统存储器1015可包括任意适当的易失性存储器,例如,适当的DRAM。在一些实施例中,系统存储器1015可包括双倍数据速率类型四同步动态随机存取存储器(DDR4SDRAM)。
对于一个实施例,系统控制模块1010可包括一个或多个输入/输出(I/O)控制器,以向NVM/存储设备1020及(一个或多个)通信接口1025提供接口。
例如,NVM/存储设备1020可被用于存储数据和/或指令。NVM/存储设备1020可包括任意适当的非易失性存储器(例如,闪存)和/或可包括任意适当的(一个或多个)非易失性存储设备(例如,一个或多个硬盘驱动器(HDD)、一个或多个光盘(CD)驱动器和/或一个或多个数字通用光盘(DVD)驱动器)。
NVM/存储设备1020可包括在物理上作为系统1000被安装在其上的设备的一部分的存储资源,或者其可被该设备访问而不必作为该设备的一部分。例如,NVM/存储设备1020可通过网络经由(一个或多个)通信接口1025进行访问。
(一个或多个)通信接口1025可为系统1000提供接口以通过一个或多个网络和/或与任意其他适当的设备通信。系统1000可根据一个或多个无线网络标准和/或协议中的任意标准和/或协议来与无线网络的一个或多个组件进行无线通信。
对于一个实施例,(一个或多个)处理器1005中的至少一个可与系统控制模块1010的一个或多个控制器(例如,存储器控制器模块1030)的逻辑封装在一起。对于一个实施例,(一个或多个)处理器1005中的至少一个可与系统控制模块1010的一个或多个控制器的逻辑封装在一起以形成系统级封装(SiP)。对于一个实施例,(一个或多个)处理器1005中的至少一个可与系统控制模块1010的一个或多个控制器的逻辑集成在同一模具上。对于一个实施例,(一个或多个)处理器1005中的至少一个可与系统控制模块1010的一个或多个控制器的逻辑集成在同一模具上以形成片上系统(SoC)。
在各个实施例中,系统1000可以但不限于是:服务器、工作站、台式计算设备或移动计算设备(例如,膝上型计算设备、手持计算设备、平板电脑、上网本等)。在各个实施例中,系统1000可具有更多或更少的组件和/或不同的架构。例如,在一些实施例中,系统1000包括一个或多个摄像机、键盘、液晶显示器(LCD)屏幕(包括触屏显示器)、非易失性存储器端口、多个天线、图形芯片、专用集成电路(ASIC)和扬声器。
对于本领域技术人员而言,显然本申请不限于上述示范性实施例的细节,而且在不背离本申请的精神或基本特征的情况下,能够以其他的具体形式实现本申请。因此,无论从哪一点来看,均应将实施例看作是示范性的,而且是非限制性的,本申请的范围由所附权利要求而不是上述说明限定,因此旨在将落在权利要求的等同要件的含义和范围内的所有变化涵括在本申请内。不应将权利要求中的任何附图标记视为限制所涉及的权利要求。此外,显然“包括”一词不排除其他单元或步骤,单数不排除复数。系统权利要求中陈述的多个单元或装置也可以由一个单元或装置通过软件或者硬件来实现。第一,第二等词语用来表示名称,而并不表示任何特定的顺序。
虽然前面特别示出并且描述了示例性实施例,但是本领域技术人员将会理解的是,在不背离权利要求书的精神和范围的情况下,在其形式和细节方面可以有所变化。这里所寻求的保护在所附权利要求书中做了阐述。在下列编号条款中规定了各个实施例的这些和其他方面:
1.一种用于生成兑换码的方法,其中,该方法包括以下步骤:
根据已获得的数字号和批次号计算数字位秘钥标识,使用所述数字位秘钥标识对应的数字位秘钥对所述数字号进行对称加密,获得数字位信息;
根据所述数字位秘钥标识和所述数字位信息,获得第一主体信息;
根据所述数字号和所述批次号计算批次位秘钥标识,使用所述批次位秘钥标识对应的批次位秘钥对所述批次号进行对称加密,获得批次位信息;
根据所述第一主体信息、所述批次位秘钥标识以及所述批次位信息,生成兑换码。
2.根据条款1所述的方法,其中,所述根据所述数字位秘钥标识和所述数字位信息,获得第一主体信息的步骤包括:
根据所述数字位秘钥标识和所述数字位信息,获得初始主体信息;
根据预设主体秘钥对所述初始主体信息进行对称加密,获得第一主体信息。
3.根据条款2所述的方法,其中,所述根据所述数字位秘钥标识和所述数字位信息,获得初始主体信息的步骤包括:
将所述数字位秘钥标识和所述数字位信息进行组合,获得初始主体信息。
4.根据条款2所述的方法,其中,所述根据所述数字位秘钥标识和所述数字位信息,获得初始主体信息的步骤包括:
根据所述数字位秘钥标识和所述数字位信息,计算校验位信息;
将所述校验位信息、所述数字位秘钥标识以及所述数字位信息进行组合,获得初始主体信息。
5.根据条款2至4中任一项所述的方法,其中,所述根据预设主体秘钥对所述初始主体信息进行对称加密,获得第一主体信息的步骤包括:
使用预设批次秘钥对所述批次号进行对称加密,获得第一秘钥;
将预设主体秘钥的公共部分和所述第一秘钥进行组合,获得第二秘钥;
使用所述第二秘钥对所述初始主体信息进行对称加密,获得第一主体信息。
6.根据条款1至5中任一项所述的方法,其中,该方法还包括以下步骤:
根据兑换码类型,获得类型位信息;
其中,所述根据所述第一主体信息、所述批次位秘钥标识以及所述批次位信息,生成兑换码的步骤包括:
根据所述第一主体信息、所述批次位秘钥标识、所述批次位信息以及所述类型位信息,生成兑换码。
7.根据条款6所述的方法,其中,所述根据兑换码类型,获得类型位信息的步骤包括:
根据兑换码类型,以及所述数字号和/或所述批次号,计算类型位信息。
8.根据条款1所述的方法,其中,所述根据已获得的数字号和批次号计算数字位秘钥标识的操作包括:根据已获得的数字号、批次号以及兑换码类型,计算数字位秘钥标识;和/或,
其中,所述根据所述数字号和所述批次号计算批次位秘钥标识的操作包括:根据所述数字号、所述批次号以及所述兑换码类型,计算批次位秘钥标识。
9.根据条款1至5中任一项所述的方法,其中,所述根据所述第一主体信息、所述批次位秘钥标识以及所述批次位信息,生成兑换码的步骤包括:
根据所述第一主体信息、所述批次位秘钥标识以及所述批次位信息,生成第二主体信息;
根据所述数字号和所述批次号,计算随机打乱标识,并根据所述随机打乱标识对应的随机数种子将所述第二主体信息打乱,得到第三主体信息;
根据所述第三主体信息和所述随机打乱标识,生成兑换码。
10.根据条款1至9中任一项所述的方法,其中,该方法还包括在所述获得数字位信息的步骤之前的以下步骤:
根据预设数字位位数,基于以下公式获得数字号:
Numi=base+base*i
其中,Numi表示第i个数字号,i=0,1,2,…,N-1,N为所述批次号对应的兑换码数量,base=(2^M-1)/N,M表示预设数字位位数。
11.一种用于验证兑换码的方法,其中,该方法包括以下步骤:
检测接收到的兑换码的长度是否为预定长度,若是,从所述兑换码中解析出第一主体信息、批次位秘钥标识以及批次位信息;
使用所述批次位秘钥标识对应的批次位秘钥对所述批次位信息进行对称解密,获得批次号;
根据所述第一主体信息,获得数字位秘钥标识和数字位信息,使用所述数字位秘钥标识对所述数字位信息进行对称解密,获得数字号;
根据所述数字号、所述批次号以及预定配表,检测所述兑换码是否具备有效性,若是,判定验证成功,否则,判定验证失败。
12.根据条款11的方法,其中,所述第一主体信息是根据预设主体秘钥对初始主体信息进行对称加密获得的,所述初始主体信息包括数字位秘钥标识和数字位信息,其中,所述根据所述第一主体信息,获得数字位秘钥标识和数字位信息的操作包括:
根据所述预设主体秘钥对所述第一主体信息进行解密,获得所述初始主体信息;
从所述初始主体信息中提取出数字位秘钥标识和数字位信息。
13.根据条款12所述的方法,其中,所述初始主体信息还包括检验位信息,其中,在所述检测所述兑换码是否具备有效性的步骤之前,该方法还包括:
从所述初始主体信息中提取出校验位信息;
根据所述数字位秘钥标识和所述数字位信息进行校验计算,并判断计算结果与所述校验位信息是否一致,若否,则判定验证失败。
14.根据条款12所述的方法,其中,所述根据所述预设主体秘钥对所述第一主体信息进行解密,获得所述初始主体信息的步骤包括:
使用预设批次秘钥对所述批次号进行对称加密,获得第一秘钥;
将预设主体秘钥的公共部分和所述第一秘钥进行组合,获得第二秘钥;
使用所述第二秘钥对所述第一主体信息进行解密,获得初始主体信息。
15.根据条款11至14中任一项所述的方法,其中,所述兑换码还包括类型位信息,该方法还包括:
从所述兑换码中解析出所述类型位信息;
根据预定配表中的兑换码类型,获得类型校验信息;
检测所述类型位信息与所述类型校验信息是否一致,若不一致,则判定验证失败。
16.根据条款15所述的方法,其中,所述根据所述类型位信息确定兑换码类型的步骤包括:
根据所述类型位信息,以及所述数字号和/或所述批次号,确定兑换码类型,其中,所述类型位信息是根据兑换码类型,以及所述数字号和/或所述批次号所生成的。
17.根据条款11至16中任一项所述的方法,其中,所述兑换码还包括随机打乱标识,所述检测接收到的兑换码的长度是否为预定长度,若是,从所述兑换码中解析出第一主体信息、批次位秘钥标识以及批次位信息的步骤包括:
检测接收到的兑换码的长度是否为预定长度,若是,从所述兑换码中解析出所述随机打乱标识以及第三主体信息;
根据所述随机打乱标识对应的随机数种子对所述第三主体信息执行还原操作,得到第二主体信息;
从所述第二主体信息中提取出第一主体信息、批次位秘钥标识以及批次位信息。
18.根据条款11至17中任一项所述的方法,其中,所述预定配表以批次号为主键,所述预定配表中包括批次号以及以下至少一项:
-批次类型;
-兑换码数量;
-有效时间;
-可用渠道;
-屏蔽渠道。
19.一种用于生成兑换码的第一装置,其中,该第一装置包括:
用于根据已获得的数字号和批次号计算数字位秘钥标识,使用所述数字位秘钥标识对应的数字位秘钥对所述数字号进行对称加密,获得数字位信息的装置;
用于根据所述数字位秘钥标识和所述数字位信息,获得第一主体信息的装置;
用于根据所述数字号和所述批次号计算批次位秘钥标识,使用所述批次位秘钥标识对应的批次位秘钥对所述批次号进行对称加密,获得批次位信息的装置;
用于根据所述第一主体信息、所述批次位秘钥标识以及所述批次位信息,生成兑换码的装置。
20.根据条款19所述的第一装置,其中,所述用于根据所述数字位秘钥标识和所述数字位信息,获得第一主体信息的装置用于:
根据所述数字位秘钥标识和所述数字位信息,获得初始主体信息;
根据预设主体秘钥对所述初始主体信息进行对称加密,获得第一主体信息。
21.根据条款20所述的第一装置,其中,所述根据所述数字位秘钥标识和所述数字位信息,获得初始主体信息的操作包括:
将所述数字位秘钥标识和所述数字位信息进行组合,获得初始主体信息。
22.根据条款20所述的第一装置,其中,所述根据所述数字位秘钥标识和所述数字位信息,获得初始主体信息的操作包括:
根据所述数字位秘钥标识和所述数字位信息,计算校验位信息;
将所述校验位信息、所述数字位秘钥标识以及所述数字位信息进行组合,获得初始主体信息。
23.根据条款20至22中任一项所述的第一装置,其中,所述根据预设主体秘钥对所述初始主体信息进行对称加密,获得第一主体信息的操作包括:
使用预设批次秘钥对所述批次号进行对称加密,获得第一秘钥;
将预设主体秘钥的公共部分和所述第一秘钥进行组合,获得第二秘钥;
使用所述第二秘钥对所述初始主体信息进行对称加密,获得第一主体信息。
24.根据条款19至23中任一项所述的第一装置,其中,该第一装置还包括:
用于根据兑换码类型,获得类型位信息的装置;
其中,所述用于根据所述第一主体信息、所述批次位秘钥标识以及所述批次位信息,生成兑换码的装置用于:
根据所述第一主体信息、所述批次位秘钥标识、所述批次位信息以及所述类型位信息,生成兑换码。
25.根据条款24所述的第一装置,其中,所述用于根据兑换码类型,获得类型位信息的装置用于:
根据兑换码类型,以及所述数字号和/或所述批次号,计算类型位信息。
26.根据条款19所述的第一装置,其中,所述根据已获得的数字号和批次号计算数字位秘钥标识的操作包括:根据已获得的数字号、批次号以及兑换码类型,计算数字位秘钥标识;和/或,
其中,所述根据所述数字号和所述批次号计算批次位秘钥标识的操作包括:根据所述数字号、所述批次号以及所述兑换码类型,计算批次位秘钥标识。
27.根据条款19至23中任一项所述的第一装置,其中,所述用于根据所述第一主体信息、所述批次位秘钥标识以及所述批次位信息,生成兑换码的装置用于:
根据所述第一主体信息、所述批次位秘钥标识以及所述批次位信息,生成第二主体信息;
根据所述数字号和所述批次号,计算随机打乱标识,并根据所述随机打乱标识对应的随机数种子将所述第二主体信息打乱,得到第三主体信息;
根据所述第三主体信息和所述随机打乱标识,生成兑换码。
28.根据条款19至27中任一项所述的第一装置,其中,该第一装置还包括:
用于根据预设数字位位数,基于以下公式获得数字号的装置:
Numi=base+base*i
其中,Numi表示第i个数字号,i=0,1,2,…,N-1,N为所述批次号对应的兑换码数量,base=(2^M-1)/N,M表示预设数字位位数。
29.一种用于验证兑换码的第二装置,其中,该第二装置包括:
用于检测接收到的兑换码的长度是否为预定长度,若是,从所述兑换码中解析出第一主体信息、批次位秘钥标识以及批次位信息的装置;
用于使用所述批次位秘钥标识对应的批次位秘钥对所述批次位信息进行对称解密,获得批次号的装置;
用于根据所述第一主体信息,获得数字位秘钥标识和数字位信息,使用所述数字位秘钥标识对所述数字位信息进行对称解密,获得数字号的装置;
用于根据所述数字号、所述批次号以及预定配表,检测所述兑换码是否具备有效性,若是,判定验证成功,否则,判定验证失败的装置。
30.根据条款29的第二装置,其中,所述第一主体信息是根据预设主体秘钥对初始主体信息进行对称加密获得的,所述初始主体信息包括数字位秘钥标识和数字位信息,其中,所述根据所述第一主体信息,获得数字位秘钥标识和数字位信息的操作包括:
根据所述预设主体秘钥对所述第一主体信息进行解密,获得所述初始主体信息;
从所述初始主体信息中提取出数字位秘钥标识和数字位信息。
31.根据条款30所述的第二装置,其中,所述初始主体信息还包括检验位信息,该第二装置还包括:
用于从所述初始主体信息中提取出校验位信息的装置;
用于根据所述数字位秘钥标识和所述数字位信息进行校验计算,并判断计算结果与所述校验位信息是否一致,若否,则判定验证失败的装置。
32.根据条款30所述的第二装置,其中,所述根据所述预设主体秘钥对所述第一主体信息进行解密,获得所述初始主体信息的操作包括:
使用预设批次秘钥对所述批次号进行对称加密,获得第一秘钥;
将预设主体秘钥的公共部分和所述第一秘钥进行组合,获得第二秘钥;
使用所述第二秘钥对所述第一主体信息进行解密,获得初始主体信息。
33.根据条款29至21中任一项所述的第二装置,其中,所述兑换码还包括类型位信息,该第二装置还包括:
用于从所述兑换码中解析出所述类型位信息的装置;
用于根据预定配表中的兑换码类型,获得类型校验信息的装置;
用于检测所述类型位信息与所述类型校验信息是否一致,若不一致,则判定验证失败的装置。
34.根据条款33所述的第二装置,其中,所述用于根据所述类型位信息确定兑换码类型的装置用于:
根据所述类型位信息,以及所述数字号和/或所述批次号,确定兑换码类型,其中,所述类型位信息是根据兑换码类型,以及所述数字号和/或所述批次号所生成的。
35.根据条款29至34中任一项所述的第二装置,其中,所述兑换码还包括随机打乱标识,所述用于检测接收到的兑换码的长度是否为预定长度,若是,从所述兑换码中解析出第一主体信息、批次位秘钥标识以及批次位信息的装置用于:
若接收到的兑换码的长度为预定长度,从所述兑换码中解析出所述随机打乱标识以及第三主体信息;
根据所述随机打乱标识对应的随机数种子对所述第三主体信息执行还原操作,得到第二主体信息;
从所述第二主体信息中提取出第一主体信息、批次位秘钥标识以及批次位信息。
36.根据条款29至35中任一项所述的第二装置,其中,所述预定配表以批次号为主键,所述预定配表中包括批次号以及以下至少一项:
-批次类型;
-兑换码数量;
-有效时间;
-可用渠道;
-屏蔽渠道。
37.一种计算机设备,其中,所述计算机设备包括:
存储器,用于存储一个或多个程序;
一个或多个处理器,与所述存储器相连,
当所述一个或多个程序被所述一个或者多个处理器执行时,使得所述一个或多个处理器执行如条款1至18中任一项所述的方法。
38.一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序可被处理器执行如条款1至18中任一项所述的方法。
39.一种计算机程序产品,当所述计算机程序产品被设备执行时,使得所述设备执行如条款1至18中任一项所述的方法。
Claims (20)
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.根据权利要求10所述的方法,其中,所述初始主体信息还包括检验位信息,其中,在所述检测所述兑换码是否具备有效性的步骤之前,该方法还包括:
从所述初始主体信息中提取出校验位信息;
根据所述数字位秘钥标识和所述数字位信息进行校验计算,并判断计算结果与所述校验位信息是否一致,若否,则判定验证失败。
12.根据权利要求10所述的方法,其中,所述根据所述预设主体秘钥对所述第一主体信息进行解密,获得所述初始主体信息的步骤包括:
使用预设批次秘钥对所述批次号进行对称加密,获得第一秘钥;
将预设主体秘钥的公共部分和所述第一秘钥进行组合,获得第二秘钥;
使用所述第二秘钥对所述第一主体信息进行解密,获得初始主体信息。
13.根据权利要求9至12中任一项所述的方法,其中,所述兑换码还包括类型位信息,该方法还包括:
从所述兑换码中解析出所述类型位信息;
根据预定配表中的兑换码类型,获得类型校验信息;
检测所述类型位信息与所述类型校验信息是否一致,若不一致,则判定验证失败。
14.根据权利要求9至13中任一项所述的方法,其中,所述兑换码还包括随机打乱标识,所述检测接收到的兑换码的长度是否为预定长度,若是,从所述兑换码中解析出第一主体信息、批次位秘钥标识以及批次位信息的步骤包括:
若接收到的兑换码的长度为预定长度,从所述兑换码中解析出所述随机打乱标识以及第三主体信息;
根据所述随机打乱标识对应的随机数种子对所述第三主体信息执行还原操作,得到第二主体信息;
从所述第二主体信息中提取出第一主体信息、批次位秘钥标识以及批次位信息。
15.根据权利要求9至14中任一项所述的方法,其中,所述预定配表以批次号为主键,所述预定配表中包括批次号以及以下至少一项:
-批次类型;
-兑换码数量;
-有效时间;
-可用渠道;
-屏蔽渠道。
16.一种用于生成兑换码的第一装置,其中,该第一装置包括:
用于根据已获得的数字号和批次号计算数字位秘钥标识,使用所述数字位秘钥标识对应的数字位秘钥对所述数字号进行对称加密,获得数字位信息的装置;
用于根据所述数字位秘钥标识和所述数字位信息,获得第一主体信息的装置;
用于根据所述数字号和所述批次号计算批次位秘钥标识,使用所述批次位秘钥标识对应的批次位秘钥对所述批次号进行对称加密,获得批次位信息的装置;
用于根据所述第一主体信息、所述批次位秘钥标识以及所述批次位信息,生成兑换码的装置。
17.一种用于验证兑换码的第二装置,其中,该第二装置包括:
用于检测接收到的兑换码的长度是否为预定长度,若是,从所述兑换码中解析出第一主体信息、批次位秘钥标识以及批次位信息的装置;
用于使用所述批次位秘钥标识对应的批次位秘钥对所述批次位信息进行对称解密,获得批次号的装置;
用于根据所述第一主体信息,获得数字位秘钥标识和数字位信息,使用所述数字位秘钥标识对所述数字位信息进行对称解密,获得数字号的装置;
用于根据所述数字号、所述批次号以及预定配表,检测所述兑换码是否具备有效性,若是,判定验证成功,否则,判定验证失败的装置。
18.一种计算机设备,其中,所述计算机设备包括:
存储器,用于存储一个或多个程序;
一个或多个处理器,与所述存储器相连,
当所述一个或多个程序被所述一个或者多个处理器执行时,使得所述一个或多个处理器执行如权利要求1至15中任一项所述的方法。
19.一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序可被处理器执行如权利要求1至15中任一项所述的方法。
20.一种计算机程序产品,当所述计算机程序产品被设备执行时,使得所述设备执行如权利要求1至15中任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910858420.6A CN110738513B (zh) | 2019-09-11 | 2019-09-11 | 一种用于生成、验证兑换码的方法和装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910858420.6A CN110738513B (zh) | 2019-09-11 | 2019-09-11 | 一种用于生成、验证兑换码的方法和装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110738513A true CN110738513A (zh) | 2020-01-31 |
CN110738513B CN110738513B (zh) | 2022-08-02 |
Family
ID=69267904
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910858420.6A Active CN110738513B (zh) | 2019-09-11 | 2019-09-11 | 一种用于生成、验证兑换码的方法和装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110738513B (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111967908A (zh) * | 2020-08-17 | 2020-11-20 | 深圳市欢太科技有限公司 | 兑换码的验证方法、电子设备及存储介质 |
CN113240471A (zh) * | 2021-05-19 | 2021-08-10 | 完美世界(北京)软件科技发展有限公司 | 兑奖码的生成方法、生成装置、电子设备及存储介质 |
CN113318456A (zh) * | 2021-06-30 | 2021-08-31 | 完美世界(重庆)互动科技有限公司 | 数据凭证系统、方法、设备及介质 |
Citations (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2012132136A1 (ja) * | 2011-03-25 | 2012-10-04 | 三菱電機株式会社 | 暗号処理システム、鍵生成装置、暗号化装置、復号装置、暗号処理方法及び暗号処理プログラム |
CN105224415A (zh) * | 2015-09-25 | 2016-01-06 | 北京奇虎科技有限公司 | 用于实现业务任务的码的生成方法及装置 |
CN105373927A (zh) * | 2014-08-26 | 2016-03-02 | 腾讯科技(深圳)有限公司 | 电子券的券码生成方法、装置及服务器 |
CN105450620A (zh) * | 2014-09-30 | 2016-03-30 | 阿里巴巴集团控股有限公司 | 一种信息处理方法及装置 |
CN105574737A (zh) * | 2015-12-15 | 2016-05-11 | 中国建设银行股份有限公司 | 用于生成和维护兑换码的数据处理系统及方法 |
CN106972918A (zh) * | 2017-03-15 | 2017-07-21 | 中国工商银行股份有限公司 | 一种电子编码数据的生成方法、装置及验证方法 |
CN108460625A (zh) * | 2018-02-07 | 2018-08-28 | 安徽星网软件技术有限公司 | 一种优惠券发放和兑换校验管理系统 |
WO2018152618A1 (en) * | 2017-02-27 | 2018-08-30 | Cord3 Innovation Inc. | Symmetric cryptographic method and system and applications thereof |
US20180253745A1 (en) * | 2017-03-06 | 2018-09-06 | Valassis Communications, Inc. | Blockchain Data |
CN108510327A (zh) * | 2018-03-29 | 2018-09-07 | 广东顺德云证物联网科技有限公司 | 优惠券生成方法和系统 |
CN108632025A (zh) * | 2017-03-18 | 2018-10-09 | 温州思方易智能科技有限公司 | 一种秘钥管理系统以及管理方法 |
CN109409960A (zh) * | 2018-11-01 | 2019-03-01 | 广州品唯软件有限公司 | 一种电子卡券的电子码管理系统及平台 |
WO2019114084A1 (zh) * | 2017-12-15 | 2019-06-20 | 卫盈联信息技术(深圳)有限公司 | 多数字位号码的加密、解密方法以及加密、解密服务器 |
CN110138739A (zh) * | 2019-04-15 | 2019-08-16 | 平安科技(深圳)有限公司 | 数据信息加密方法、装置、计算机设备及存储介质 |
-
2019
- 2019-09-11 CN CN201910858420.6A patent/CN110738513B/zh active Active
Patent Citations (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2012132136A1 (ja) * | 2011-03-25 | 2012-10-04 | 三菱電機株式会社 | 暗号処理システム、鍵生成装置、暗号化装置、復号装置、暗号処理方法及び暗号処理プログラム |
CN105373927A (zh) * | 2014-08-26 | 2016-03-02 | 腾讯科技(深圳)有限公司 | 电子券的券码生成方法、装置及服务器 |
CN105450620A (zh) * | 2014-09-30 | 2016-03-30 | 阿里巴巴集团控股有限公司 | 一种信息处理方法及装置 |
CN105224415A (zh) * | 2015-09-25 | 2016-01-06 | 北京奇虎科技有限公司 | 用于实现业务任务的码的生成方法及装置 |
CN105574737A (zh) * | 2015-12-15 | 2016-05-11 | 中国建设银行股份有限公司 | 用于生成和维护兑换码的数据处理系统及方法 |
WO2018152618A1 (en) * | 2017-02-27 | 2018-08-30 | Cord3 Innovation Inc. | Symmetric cryptographic method and system and applications thereof |
US20180253745A1 (en) * | 2017-03-06 | 2018-09-06 | Valassis Communications, Inc. | Blockchain Data |
CN106972918A (zh) * | 2017-03-15 | 2017-07-21 | 中国工商银行股份有限公司 | 一种电子编码数据的生成方法、装置及验证方法 |
CN108632025A (zh) * | 2017-03-18 | 2018-10-09 | 温州思方易智能科技有限公司 | 一种秘钥管理系统以及管理方法 |
WO2019114084A1 (zh) * | 2017-12-15 | 2019-06-20 | 卫盈联信息技术(深圳)有限公司 | 多数字位号码的加密、解密方法以及加密、解密服务器 |
CN108460625A (zh) * | 2018-02-07 | 2018-08-28 | 安徽星网软件技术有限公司 | 一种优惠券发放和兑换校验管理系统 |
CN108510327A (zh) * | 2018-03-29 | 2018-09-07 | 广东顺德云证物联网科技有限公司 | 优惠券生成方法和系统 |
CN109409960A (zh) * | 2018-11-01 | 2019-03-01 | 广州品唯软件有限公司 | 一种电子卡券的电子码管理系统及平台 |
CN110138739A (zh) * | 2019-04-15 | 2019-08-16 | 平安科技(深圳)有限公司 | 数据信息加密方法、装置、计算机设备及存储介质 |
Non-Patent Citations (3)
Title |
---|
CHIN-CHEN CHANG等: "Secure Electronic Coupons", 《2015 10TH ASIA JOINT CONFERENCE ON INFORMATION SECURITY》 * |
梁英宏等: "基于PKI的二维条码电子消费券及其系统设计", 《计算机应用研究》 * |
韩家伟等: "基于滑动窗口的量子秘钥管理算法", 《吉林大学学报(工学版)》 * |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111967908A (zh) * | 2020-08-17 | 2020-11-20 | 深圳市欢太科技有限公司 | 兑换码的验证方法、电子设备及存储介质 |
CN113240471A (zh) * | 2021-05-19 | 2021-08-10 | 完美世界(北京)软件科技发展有限公司 | 兑奖码的生成方法、生成装置、电子设备及存储介质 |
CN113318456A (zh) * | 2021-06-30 | 2021-08-31 | 完美世界(重庆)互动科技有限公司 | 数据凭证系统、方法、设备及介质 |
CN113318456B (zh) * | 2021-06-30 | 2024-04-02 | 完美世界(重庆)互动科技有限公司 | 数据凭证系统、方法、设备及介质 |
Also Published As
Publication number | Publication date |
---|---|
CN110738513B (zh) | 2022-08-02 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110738513A (zh) | 一种用于生成、验证兑换码的方法和装置 | |
US20160094347A1 (en) | Method and system for secure management of computer applications | |
JP5854443B2 (ja) | 誤り訂正符号方式を用いて計算環境における資産集合についての識別子を生成する変化許容力を有する方法 | |
US20080177812A1 (en) | Hash algorithm using randomization function | |
KR101942030B1 (ko) | 메시지에 대한 무결성 검증이 지원되는 부호 기반의 암호화가 가능한 전자 장치 및 그 동작 방법 | |
KR101913644B1 (ko) | 메시지 인증이 가능한 부호 기반 암호화 장치 및 방법 | |
US20180204004A1 (en) | Authentication method and apparatus for reinforced software | |
EP2991264B1 (en) | Encrypted text matching system, method and program | |
CN114499859A (zh) | 密码验证方法、装置、设备及存储介质 | |
US10115323B2 (en) | Encrypted-data processing method, system, and apparatus | |
CN110532290B (zh) | 基于区块链的信息验证装置、方法及存储介质 | |
CN112953716A (zh) | 一种兑换码生成及其验证方法和装置 | |
CN110784313A (zh) | 一种密钥的保护方法、设备以及存储介质 | |
CN107391970B (zh) | Flash应用程序中的函数访问控制方法及装置 | |
KR20200107621A (ko) | 신드롬을 기반으로 한 전자 서명을 통해 데이터 통신이 가능한 전자 장치 및 그 동작 방법 | |
KR101978684B1 (ko) | 재생 공격 방지가 가능한 부호 기반 암호화 장치 및 방법 | |
CN116664123A (zh) | 一种基于区块链技术的数字钱包设计方法 | |
JP6031729B1 (ja) | Rfidタグコード生成装置およびその方法、認証装置およびその方法、ならびにプログラム | |
CN113347270A (zh) | 一种网络传输文件防水平越权方法和装置 | |
JP5809026B2 (ja) | デジタルデータのエンコード又はデコード方法、データ配布装置、およびデータ管理装置 | |
CN112329033A (zh) | 一种数据加密方法、装置、设备及存储介质 | |
CN112597456A (zh) | 数据库的水印添加与验证方法及装置 | |
CN110784868A (zh) | 无线通信的加密和解密、数据传输方法及无线通信系统 | |
KR102425916B1 (ko) | 가변 길이 퍼지 데이터를 지원하는 격자 기반 퍼지 추출 장치 및 방법 | |
JP2015154291A (ja) | デバイス固有情報生成装置及びデバイス固有情報生成システムとデバイス固有情報生成方法 |
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 |