CN114219055B - 一种条码生成方法、条码验证方法及支付系统 - Google Patents

一种条码生成方法、条码验证方法及支付系统 Download PDF

Info

Publication number
CN114219055B
CN114219055B CN202111525729.7A CN202111525729A CN114219055B CN 114219055 B CN114219055 B CN 114219055B CN 202111525729 A CN202111525729 A CN 202111525729A CN 114219055 B CN114219055 B CN 114219055B
Authority
CN
China
Prior art keywords
information
user
target
bar code
server
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
CN202111525729.7A
Other languages
English (en)
Other versions
CN114219055A (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.)
Ping An E Wallet Electronic Commerce Co Ltd
Original Assignee
Ping An E Wallet Electronic Commerce 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 Ping An E Wallet Electronic Commerce Co Ltd filed Critical Ping An E Wallet Electronic Commerce Co Ltd
Priority to CN202111525729.7A priority Critical patent/CN114219055B/zh
Publication of CN114219055A publication Critical patent/CN114219055A/zh
Application granted granted Critical
Publication of CN114219055B publication Critical patent/CN114219055B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06KGRAPHICAL DATA READING; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
    • G06K19/00Record carriers for use with machines and with at least a part designed to carry digital markings
    • G06K19/06Record carriers for use with machines and with at least a part designed to carry digital markings characterised by the kind of the digital marking, e.g. shape, nature, code
    • G06K19/06009Record carriers for use with machines and with at least a part designed to carry digital markings characterised by the kind of the digital marking, e.g. shape, nature, code with optically detectable marking
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F7/00Methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F7/58Random or pseudo-random number generators
    • G06F7/588Random number generators, i.e. based on natural stochastic processes
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION 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
    • G06Q20/00Payment architectures, schemes or protocols
    • G06Q20/38Payment protocols; Details thereof
    • G06Q20/40Authorisation, e.g. identification of payer or payee, verification of customer or shop credentials; Review and approval of payers, e.g. check credit lines or negative lists
    • G06Q20/401Transaction verification
    • 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/0876Network architectures or network communication protocols for network security for authentication of entities based on the identity of the terminal or configuration, e.g. MAC address, hardware or software configuration or device fingerprint
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0816Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
    • H04L9/0819Key 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)
    • H04L9/0822Key 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) using key encryption key

Landscapes

  • Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Computer Security & Cryptography (AREA)
  • Business, Economics & Management (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Accounting & Taxation (AREA)
  • General Engineering & Computer Science (AREA)
  • Signal Processing (AREA)
  • Mathematical Analysis (AREA)
  • Pure & Applied Mathematics (AREA)
  • Finance (AREA)
  • Strategic Management (AREA)
  • General Business, Economics & Management (AREA)
  • Computational Mathematics (AREA)
  • Mathematical Optimization (AREA)
  • Power Engineering (AREA)
  • Computer Hardware Design (AREA)
  • Computing Systems (AREA)
  • Telephonic Communication Services (AREA)

Abstract

本申请适用于信息安全技术领域,提供了一种条码生成方法、条码验证方法及支付系统,所述条码生成方法包括:生成第一预设位数的随机码,并确定随机码的随机索引码;获取用户信息和设备信息,并将用户信息和设备信息发送至服务器;根据数据摘要算法计算第一属性信息的第一摘要;第一属性信息包括用户标识、第一标准时间以及用户信息和/或设备信息;第一标准时间指从基准时刻到当前时刻的时间;用户标识由服务器根据用户信息和设备信息生成;根据随机索引码、用户标识以及第一摘要生成目标条码。本申请提供的条码生成方法提高了生成的条码的安全性和可靠性。

Description

一种条码生成方法、条码验证方法及支付系统
技术领域
本申请属于信息安全技术领域,尤其涉及一种条码生成方法、条码验证方法及支付系统。
背景技术
目前,支付条码已经在人们的日常生活中得到广泛使用。然而,现有的支付条码通常是静态条码,或者是有效时间较长(如一分钟及以上)的动态条码,由于较长时间的条码暴露,容易导致上述条码信息中包含的用户的敏感信息,如:用户信息,身份信息及设备信息等被泄露。也就是说,现有的条码生成方法存在安全性和可靠性较低的问题。
发明内容
本申请实施例提供了一种条码生成方法、条码验证方法及支付系统,可以解决现有技术存在的安全性和可靠性较低的问题。
第一方面,本申请实施例提供了一种条码生成方法,应用于终端设备,包括:
生成第一预设位数的随机码,并确定所述随机码的随机索引码;
获取用户信息和设备信息,并将所述用户信息和所述设备信息发送至服务器;
根据数据摘要算法计算第一属性信息的第一摘要;所述第一属性信息包括用户标识、第一标准时间以及所述用户信息和/或所述设备信息;所述第一标准时间指从基准时刻到当前时刻的时间;所述用户标识由所述服务器根据所述用户信息和所述设备信息生成;
根据所述随机索引码、所述用户标识以及所述第一摘要生成目标条码。
可选的,所述获取用户信息和设备信息,并将所述用户信息和所述设备信息发送至服务器,包括:
根据随机函数生成第一密钥;
根据所述第一密钥对所述用户信息和所述设备信息进行加密,得到第一加密信息;
通过预设的非对称加密算法的公钥对所述第一密钥进行加密,得到加密密钥;
将所述第一加密信息和所述加密密钥发送至所述服务器。
可选的,所述根据所述随机索引码、所述用户标识以及所述第一摘要生成目标条码,包括:
根据混淆算法、所述随机码及所述随机索引码对所述用户标识和所述第一摘要进行混淆,得到混淆序列;
根据所述随机索引码和所述混淆序列生成所述目标条码。
可选的,所述根据混淆算法、所述随机码及所述随机索引码对所述用户标识和所述第一摘要进行混淆,得到混淆序列,包括:
根据所述混淆算法和所述第一摘要对所述用户标识进行混淆,得到混淆标识;
根据所述混淆算法、所述随机码以及所述随机索引码对所述混淆标识和所述第一摘要进行混淆,得到所述混淆序列。
可选的,所述根据所述随机索引码、所述用户标识以及所述第一摘要生成目标条码之后,还包括:
响应于条码验证指令,将所述目标条码发送至所述服务器;
接收第三提示信息,并根据所述第三提示信息执行预设操作;所述第三提示信息为所述服务器对所述目标条码进行条码验证后,返回至所述终端设备的。
第二方面,本申请实施例提供了一种条码验证方法,应用于服务器,包括:
接收终端设备发送的目标条码;
获取所述目标条码中的用户标识和第一摘要,并根据预先存储的用户标识与用户信息、设备信息之间的对应关系,确定所述用户标识对应的目标用户信息和目标设备信息;
根据数据摘要算法计算第二属性信息的第二摘要;所述第二属性信息包括第二标准时间、所述用户标识以及所述目标用户信息和/或所述目标设备信息;所述第二标准时间指从基准时刻到验证时刻的时间;
若检测到所述第二摘要与所述第一摘要相同,则向所述终端设备发送第三提示信息;所述第三提示信息用于描述所述目标条码验证成功。
可选的,所述接收终端设备发送的目标条码,包括:
接收所述终端设备发送的当前用户信息和当前设备信息;
相应的,所述获取所述目标条码中的用户标识和第一摘要,并根据预先存储的用户标识与用户信息、设备信息之间的对应关系,确定所述用户标识对应的目标用户信息和目标设备信息之后,还包括:
当检测到所述当前用户信息与所述目标用户信息不同,和/或所述当前设备信息与所述目标设备信息不同时,向所述终端设备发送第一提示信息;所述第一提示信息用于描述所述目标条码验证失败。
可选的,所述根据数据摘要算法计算第二属性信息的第二摘要之后,还包括:
若检测到所述第二摘要与所述第一摘要不同,则向所述终端设备发送第二提示信息;所述第二提示信息用于描述所述目标条码验证超时。
可选的,所述获取所述目标条码中的用户标识和第一摘要,并根据预先存储的用户标识与用户信息、设备信息之间的对应关系,确定所述用户标识对应的目标用户信息和目标设备信息之后,还包括:
根据所述验证时刻和预设时间范围确定修正时间段;
根据所述数据摘要算法确定第三属性信息集合对应的第三摘要集合;所述第三属性信息集合中的任一第三属性信息包括所述修正时间段内的任一时刻、所述用户标识以及所述目标用户信息和/或所述目标设备信息;
若所述第三摘要集合中存在所述第一摘要,则向所述终端设备发送所述第三提示信息。
第三方面,本申请实施例提供了一种终端设备,包括:
第一生成单元,用于生成第一预设位数的随机码,并确定所述随机码的随机索引码;
第一发送单元,用于获取用户信息和设备信息,并将所述用户信息和所述设备信息发送至服务器;
第一计算单元,用于根据数据摘要算法计算第一属性信息的第一摘要;所述第一属性信息包括用户标识、第一标准时间以及所述用户信息和/或所述设备信息;所述第一标准时间指从基准时刻到当前时刻的时间;所述用户标识由所述服务器根据所述用户信息和所述设备信息生成;
第二生成单元,用于根据所述随机索引码、所述用户标识以及所述第一摘要生成目标条码。
第四方面,本申请实施例提供了一种服务器,包括:
第一接收单元,用于接收终端设备发送的目标条码;
第一确定单元,用于获取所述目标条码中的用户标识和第一摘要,并根据预先存储的用户标识与用户信息、设备信息之间的对应关系,确定所述用户标识对应的目标用户信息和目标设备信息;
第一计算单元,用于根据数据摘要算法计算第二属性信息的第二摘要;所述第二属性信息包括第二标准时间、所述用户标识以及所述目标用户信息和/或所述目标设备信息;所述第二标准时间指从基准时刻到验证时刻的时间;
第一发送单元,用于若检测到所述第二摘要与所述第一摘要相同,则向所述终端设备发送第三提示信息;所述第三提示信息用于描述所述目标条码验证成功。
第五方面,本申请实施例提供了一种终端设备,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,上述处理器执行所述计算机程序时实现如上述第一方面中任一项所述的条码生成方法的步骤。
第六方面,本申请实施例提供了一种服务器,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,上述处理器执行所述计算机程序时实现如上述第二方面所述的条码验证方法的步骤。
第七方面,本申请实施例提供了一种支付系统,包括:终端设备和服务器,所述终端设备用于执行如上述第一方面中任一项所述的条码生成方法的步骤,所述服务器用于执行实现如上述第二方面所述的条码验证方法的步骤。
第八方面,本申请实施例提供了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被终端设备中的处理器执行时实现如上述第一方面中任一项所述的条码生成方法的步骤。
第九方面,本申请实施例提供了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被服务器中的处理器执行时实现如上述第二方面所述的条码验证方法的步骤。
第十方面,本申请实施例提供了一种计算机程序产品,当计算机程序产品在终端设备上运行时,使得终端设备可执行上述第一方面中任一项所述的条码生成方法。
第十一方面,本申请实施例提供了一种计算机程序产品,当计算机程序产品在服务器上运行时,使得服务器可执行上述第二方面所述的条码验证方法。
本申请实施例与现有技术相比存在的有益效果是:
本申请实施例提供的一种条码生成方法,终端设备可以生成第一预设位数的随机码,并确定该随机码的随机索引码,之后将获取到的用户信息和设备信息发送至服务器,服务器在接收到上述用户信息和设备信息后,可以根据该用户信息和设备信息生成用户标识,并将该用户标识发送至终端设备,终端设备可以基于数据摘要算法对用户标识、第一标准时间以及用户信息和/或设备信息进行摘要计算,得到第一摘要,从而提高了用户信息及设备信息的安全性;同时,由于第一标准时间指从基准时刻到当前时刻的时间,也就是说,第一摘要会随着时间改变,并不是固定不变的,因此,终端设备最后根据随机索引码、用户标识以及摘要生成的目标条码也会随着时间而改变,即生成的条码是动态的,进而提高了生成的条码的安全性和可靠性,也有效避免了现有技术中生成的条码中的用户信息的泄露。
附图说明
为了更清楚地说明本申请实施例中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本申请一实施例提供的支付系统的结构示意图;
图2是本申请一实施例提供的条码生成方法的实现流程图;
图3是本申请一实施例提供的条码生成方法中S109的具体实现流程图;
图4是本申请另一实施例提供的条码生成方法的实现流程图;
图5是本申请一实施例提供的条码验证方法的实现流程图;
图6是本申请另一实施例提供的条码验证方法的实现流程图;
图7是本申请一实施例提供的终端设备的结构示意图;
图8是本申请另一实施例提供的终端设备的结构示意图;
图9是本申请一实施例提供的服务器的结构示意图;
图10是本申请另一实施例提供的服务器的结构示意图。
具体实施方式
以下描述中,为了说明而不是为了限定,提出了诸如特定系统结构、技术之类的具体细节,以便透彻理解本申请实施例。然而,本领域的技术人员应当清楚,在没有这些具体细节的其它实施例中也可以实现本申请。在其它情况中,省略对众所周知的系统、装置、电路以及方法的详细说明,以免不必要的细节妨碍本申请的描述。
应当理解,当在本申请说明书和所附权利要求书中使用时,术语“包括”指示所描述特征、整体、步骤、操作、元素和/或组件的存在,但并不排除一个或多个其它特征、整体、步骤、操作、元素、组件和/或其集合的存在或添加。
还应当理解,在本申请说明书和所附权利要求书中使用的术语“和/或”是指相关联列出的项中的一个或多个的任何组合以及所有可能组合,并且包括这些组合。
如在本申请说明书和所附权利要求书中所使用的那样,术语“如果”可以依据上下文被解释为“当...时”或“一旦”或“响应于确定”或“响应于检测到”。类似地,短语“如果确定”或“如果检测到[所描述条件或事件]”可以依据上下文被解释为意指“一旦确定”或“响应于确定”或“一旦检测到[所描述条件或事件]”或“响应于检测到[所描述条件或事件]”。
另外,在本申请说明书和所附权利要求书的描述中,术语“第一”、“第二”、“第三”等仅用于区分描述,而不能理解为指示或暗示相对重要性。
在本申请说明书中描述的参考“一个实施例”或“一些实施例”等意味着在本申请的一个或多个实施例中包括结合该实施例描述的特定特征、结构或特点。由此,在本说明书中的不同之处出现的语句“在一个实施例中”、“在一些实施例中”、“在其他一些实施例中”、“在另外一些实施例中”等不是必然都参考相同的实施例,而是意味着“一个或多个但不是所有的实施例”,除非是以其他方式另外特别强调。术语“包括”、“包含”、“具有”及它们的变形都意味着“包括但不限于”,除非是以其他方式另外特别强调。
请参阅图1,图1是本申请一实施例提供的支付系统的结构示意图。如图1所示,本申请实施例提供的支付系统包括:终端设备10以及与终端设备无线通信连接的服务器20。
终端设备10可以是智能手机、平板电脑等设备。
服务器20是指具有数据处理功能且能与终端设备进行通信的计算设备,包括但不限于台式电脑、云端服务器等。
需要说明的是,终端设备10可以用于生成目标条码,服务器20可以用于对生成的目标条码进行验证。
请参阅图2,图2是本申请一实施例提供的条码生成方法的实现流程图。如图2所示,本申请一实施例提供的条码生成方法可以包括S201~S209,详述如下:
在S201中,终端设备生成第一预设位数的随机码,并确定所述随机码的随机索引码。
在实际应用中,终端设备在检测到目标用户在预设APP内触发预设操作时,确定目标用户触发了条码生成指令,因此,终端设备可以响应于该条码生成指令,生成第一预设位数的随机码。其中,第一预设位数可以根据实际需要确定,此处不作限制,示例性的,第一预设位数可以是十位数,即终端设备可以生成包含十个数字的随机码,如:0123456789。
在本申请实施例的一种实现方式中,终端设备可以根据随机函数生成第一预设位数的随机码,示例性的,随机函数可以是rand()函数。
在实际应用中,预设APP可以是支付应用程序,预设操作可以是:用户点击支付应用程序中的预设控件,预设控件可以是“付款码”控件或者“收款码”控件。
本申请实施例中,终端设备在得到随机码后,可以确定该随机码的随机索引码。
在本申请实施例的一种实现方式中,终端设备可以通过随机函数在随机码中随机确定一个数字,并将该数字确定为随机码的随机索引码。
在本申请实施例的另一种实现方式中,随机索引码可以是:随机码按照预设顺序确定的第预设顺位的数字。其中,预设顺序可以根据实际需要确定,此处不作限制,示例性的,预设顺序可以是从前到后的顺序,也可以是从后到前的顺序。
由于随机码通常包括十个数字,因此,终端设备在生成随机码后,可以实时通过随机函数在1~10中随机确定一个数字,并将该数字确定为第预设顺位。例如,假设终端设备随机确定的一个数字为4,则随机索引码即为第4顺位的数字。
示例性的,假设随机码为1569874320,预设顺序为从前到后的顺序,第预设顺位为第4顺位,则该随机码的随机索引码为随机码中按照从前到后的顺序数,第4顺位的数字,即数字9为该随机码的随机索引码。
在S202中,终端设备获取用户信息和设备信息。
在实际应用中,目标用户在进入某个预设APP时,通常需要执行用户登录操作,因此,终端设备在检测用户登录操作时,即可获取到用户信息。其中,用户信息可以是用户在预设APP中的账号和密码,账号可以是用户的手机号、身份证或姓名。
本申请实施例中,设备信息可以是终端设备的设备序列号。
在本申请实施例的一种实现方式中,终端设备可以实时从与其无线通信连接的终端设备的客户端获取到自身的设备信息。其中,终端设备的客户端可以是台式电脑、计算机,也可以是云端服务器。
在S203中,终端设备将所述用户信息和所述设备信息发送至服务器。
本申请实施例中,为了提高数据传输的安全性,终端设备具体可以执行以下步骤,详述如下:
基于第一预设加密算法对所述用户信息和所述设备信息进行加密,得到第一加密信息;
将所述第一加密信息发送至所述服务器。
本实施例中,预设加密算法可以根据实际需要设置,此处不作限制。作为示例而非限定,预设加密算法可以是对称加密算法,例如:数据加密标准(Data EncrytionStandard,DES)算法。预设加密算法还可以是非对称加密算法,如RSA算法。
在本申请的一个实施例中,为了避免加密后的用户信息和设备信息在传输过程中被轻易破解,终端设备具体可以执行以下步骤,详述如下:
根据随机函数生成第一密钥;
根据所述第一密钥对所述用户信息和所述设备信息进行加密,得到第一加密信息;
通过预设的非对称加密算法的公钥对所述第一密钥进行加密,得到加密密钥;
将所述第一加密信息和所述加密密钥发送至所述服务器。
本实施例中,终端设备可以通过随机函数产生16字节随机数,该16字节随机数可以为3DES密钥,即第一密钥。
预设的非对称加密算法的公钥可以是终端设备预先向服务器发送加密请求后,服务器根据该加密请求生成非对称加密算法的公钥和私钥,并将该公钥发送至终端设备的。
本实施例中,为了避免第一密钥被泄露,从而降低数据传输过程的安全性,终端设备可以根据上述公钥对第一密钥进行加密,得到加密密钥。
为了便于服务器获取到用户信息和设备信息,终端设备可以将加密密钥和第一加密信息一起发送至服务器。
在本申请的另一个实施例中,为了便于服务器后续对生成的条码进行验证,终端设备还可以将随机码和随机索引码发送至服务器。
基于此,终端设备可以根据第一预设加密算法对随机码、随机索引码、用户信息及设备信息进行加密,并将加密之后的信息发送至服务器。
在S204中,服务器接收所述用户信息和所述设备信息。
在本申请的一个实施例中,结合S203,由于终端设备是将经过加密后的用户信息和设备信息,即第一加密信息发送至服务器,因此,服务器需要根据预先存储的与第一预设加密算法对应的第一预设解密算法对第一加密信息进行解密,进而得到用户信息和设备信息。
在本申请的另一个实施例中,结合S203,由于服务器获取到为第一加密信息和加密密钥,因此,服务器需要根据预先存储的与预设的非对称加密算法的公钥对应的私钥,对该加密密钥进行解密,得到第一密钥。
基于此,服务器再根据解密得到的第一密钥对第一加密信息进行解密,从而得到用户信息和设备信息。
在S205中,服务器根据所述用户信息和所述设备信息生成用户标识。
本申请实施例中,服务器可以根据用户信息和设备信息随机生成一组第二预设位数的数字串,并将该第二预设位数的数字串确定为该用户信息和设备信息对应的用户标识。其中,第二预设位数可以根据实际需要确定,此处不作限制,示例性的,第二预设位数可以是九位数。
在本申请实施例的一种实现方式中,服务器可以根据设备序列号和用户信息中的会员号实时随机组合,得到一组第二预设位数的数字串。
在本申请实施例的另一种实现方式中,服务器还可以在接收到用户信息和设备信息时,通过随机函数随机产生一组第二预设位数的数字串。
在本申请的一个实施例中,为了便于服务器后续对生成的条码进行验证,服务器可以将该用户信息、该设备信息与用户标识关联存储至服务器的数据库中。
在本申请的另一个实施例中,为了提高数据的安全性,服务器可以根据第二预设加密算法对用户信息和设备信息进行加密,并将该第二加密信息与用户标识关联存储至数据库中。其中,第二预设加密算法可以与第一预设加密算法相同,也可以不同。
在本申请的再一个实施例中,由于服务器还接收到终端设备生成的随机码和随机索引码,因此,服务器还可以将该随机码和随机索引码存储至自身的数据库中,便于后续对生成的条码进行验证。
在S206中,服务器将所述用户标识发送至所述终端设备。
在S207中,终端设备接收所述用户标识。
在S208中,终端设备根据数据摘要算法计算第一属性信息的第一摘要;所述第一属性信息包括用户标识、第一标准时间以及所述用户信息和/或所述设备信息;所述第一标准时间指从基准时刻到当前时刻的时间。
在实际应用中,数据摘要算法用于将任意长度的字节串转换为一固定长度的十六进制数字串。数据摘要算法可以是数据摘要算法第五版(Message Digest Algorithm,MD5),也可以是安全哈希算法(Secure Hash Algorithm,SHA1)等,具体根据实际需求确定,此次不做限制。
本申请实施例中,基准时刻可以根据实际需要确定,此处不做限制,示例性的,基准时刻可以是当前时刻对应的当天的开始时刻。其中,当前时刻指终端设备计算第一摘要的时刻,当天的开始时刻指当天的00:00:00。
第一标准时间具体可以用于描述基准时刻到当前时刻的时间段。其中,该时间段用秒数表示。示例性的,假设当前时刻为00:01:20,则第一标准时间为80秒。由于第一标准时间由秒计算,也就是说,每秒的摘要都是不同的,因此,后期终端设备每秒生成的条码也是不同的,从而有效保证了生成的条码的实时性,即使被泄露也无法再次使用,提高了生成的条码的安全性和可靠性。
在一种实现方式中,终端设备在确定第一标准时间后,为了避免后期生成的条码被盗用,因此,终端设备可以基于数据摘要算法计算用户标识、第一标准时间以及用户信息三者组合之后的摘要。或者,终端设备还可以基于数据摘要算法计算用户标识、第一标准时间以及设备信息三者组合之后的摘要。或者,终端设备还可以基于数据摘要算法计算用户标识、第一标准时间、用户信息及设备信息四者组合之后的摘要。或者,终端设备还可以基于数据摘要算法计算随机码索引码、第一标准时间、用户信息、设备信息及用户标识五者组合之后的摘要。
以用户标识、第一标准时间以及用户信息三者进行组合为例,终端设备可以按照用户标识第一顺位、第一标准时间第二顺位及用户信息第三顺位的组合方式,将用户标识、第一标准时间以及用户信息进行组合。例如,若用户标识为A,第一标准时间为B,用户信息为C,则按照第一顺位为用户标识、第二顺位为第一标准时间、第三顺位为用户信息的组合方式,得到的组合方式为[A,B,C]。
在S209中,终端设备根据所述随机索引码、所述用户标识以及所述第一摘要生成目标条码。
需要说明的是,为了便于生成目标条码,终端设备可以将第一摘要进行归一化,从而得到第三预设位数的数字串。其中,第三预设位数可以根据实际需要设置,此处不作限制,示例性的,第三预设位数可以是六位数。
因此,终端设备可以按照随机索引码第一顺位、用户标识第二顺位及归一化的第一摘要第三顺位的组合方式进行组合,进而得到目标条码。
示例性的,假设随机索引码为5,用户标识为999999999,归一化的第一摘要为123456,则目标条码即为5999999999123456。
在本申请的一个实施例中,由于条码的位数通常是固定的,如支付码(包括付款码和收款码)通常为18位,因此,终端设备可以根据目标条码的应用场景确定目标条码的目标位数,并根据该目标位数在目标条码的前部增加相应位数的与该应用场景对应的预设数值。其中,预设数值可以根据实际需要确定,此处不作限制。
示例性的,假设目标条码的应用场景为支付码,其对应的目标位数为18位,该应用场景对应的预设数值为68,则最终生成的目标条码为685999999999123456。
在本申请的另一个实施例中,为了进一步提高目标条码的安全性和可靠性,终端设备具体可以通过如图3所示的步骤S301~S302生成目标条码,详述如下:
在S301中,根据混淆算法、所述随机码及所述随机索引码对所述用户标识和所述第一摘要进行混淆,得到混淆序列。
在实际应用中,混淆算法是一种源码保护方式,指通过各种变换方式,将简单的源码转换为复杂难懂且无规律的混淆码。混淆算法可以是异或混淆算法。
在本申请的一个实施例中,终端设备具体可以通过如图4所示的步骤S401~S402得到混淆序列,详述如下:
在S401中,根据所述混淆算法和所述第一摘要对所述用户标识进行混淆,得到混淆标识。
在S402中,根据所述混淆算法、所述随机码以及所述随机索引码对所述混淆标识、所述第一摘要进行混淆,得到所述混淆序列。
本实施例中,为了避免用户标识被泄露,从而导致用户的用户信息和设备信息被泄露,因此,终端设备可以先对用户标识进行混淆。具体地,终端设备可以根据混淆算法和第一摘要对用户标识进行混淆。示例性的,假设用户标识为999999999,摘要为123456,混淆算法为异或混淆算法,则经过混淆之后的混淆标识可以为:319753197。
终端设备在对用户标识进行混淆之后,为了进一步提高目标条码的安全性,终端设备还可以继续根据该混淆算法,随机码以及随机索引码将上述混淆标识和第一摘要进行混淆。示例性的,假设混淆算法为异或混淆算法,混淆标识为319753197,摘要为123456,随机码为9876543210,随机索引码为5,则经过混淆之后的混淆序列可以为:88888888012345。
在S302中,根据所述随机索引码和所述混淆序列生成所述目标条码。
本实施例中,终端设备在得到混淆序列后,可以对随机索引码和混淆序列进行组合,从而得到目标条码。
需要说明的是,终端设备可以按照随机索引码第一顺位、混淆序列第二顺位的组合方式,对随机索引码和混淆序列进行组合。示例性的,假设随机索引码为5,混淆序列为88888888012345,则按照随机索引码第一顺位、混淆序列第二顺位的组合方式,得到的组合为5888888888012345,即目标条码为5888888888012345。
以上可以看出,本申请实施例提供的一种条码生成方法,终端设备可以生成第一预设位数的随机码,并确定该随机码的随机索引码,之后将获取到的用户信息和设备信息发送至服务器,服务器在接收到上述用户信息和设备信息后,可以根据该用户信息和设备信息生成用户标识,并将该用户标识发送至终端设备,终端设备可以基于数据摘要算法对用户标识、第一标准时间以及用户信息和/或设备信息进行摘要计算,得到第一摘要,从而提高了用户信息及设备信息的安全性;同时,由于第一标准时间指从基准时刻到当前时刻的时间,也就是说,第一摘要会随着时间改变,并不是固定不变的,因此,终端设备最后根据随机索引码、用户标识以及摘要生成的目标条码也会随着时间而改变,即生成的条码是动态的,进而提高了生成的条码的安全性和可靠性,也有效避免了现有技术中生成的条码中的用户信息的泄露。
在实际应用中,当目标条码为支付码(如付款码和收款码)时,用户通常可以通过该目标条码进行付款操作或收款操作,此时,需要对该目标条码进行验证,以确保该目标条码没有被盗用,从而保证用户的资金安全。因此,以下将以目标条码为支付码为例进行详细说明。
请参阅图5,图5是本申请一实施例提供的一种条码验证方法的实现流程图。如图5所示,本申请一实施例提供的条码验证方法可以包括S501~S506,详述如下:
在S501中,终端设备响应于条码验证指令,将目标条码发送至所述服务器。
本申请实施例中,终端设备在生成目标条码后,可以显示该目标条码。此时,目标用户(即终端设备的持有者)可以向其他用户展示该目标条码,其他用户可以使用电子设备去扫描该目标条码。
在本申请实施例的一种实现方式中,其他用户可以使用条码扫描器对目标条码进行扫描。
在本申请实施例的另一种实现方式中,其他用户还可以使用其他用户的终端上的预设扫描控件对目标条码进行扫描。其中,预设扫码控件可以是其他用户的终端系统自身具备的扫码功能对应的扫码控件,也可以是其他用户的终端上安装的第三方应用具备的扫码功能对应的扫码控件,例如,可以是支付应用程序中的扫码控件。
终端设备在检测到目标条码被扫描时,可以确定条码验证指令被触发,此时,终端设备可以将该目标条码发送至服务器。
在本申请的一个实施例中,为了提高目标条码的验证准确率,终端设备还可以获取当前设备信息和当前用户信息,并将该当前设备信息和当前用户信息发送至服务器。当前设备信息指终端设备在确定条码验证指令被触发时,获取到的自身的设备信息。当前用户信息指终端设备在确定条码验证指令被触发时,终端设备获取到的目标用户的用户信息。
在S502中,服务器接收所述终端设备发送的目标条码。
在本申请的一个实施例中,结合S501,服务器还可以接收终端设备发送的当前设备信息和当前用户信息。
在S503中,服务器获取所述目标条码中的用户标识和第一摘要,并根据预先存储的用户标识与用户信息、设备信息之间的对应关系,确定所述用户标识对应的目标用户信息和目标设备信息。
本申请实施例中,服务器在获取到目标条码后,可以从该目标条码中提取出用户标识和第一摘要。
在本申请的一个实施例中,结合S301~S302,由于目标条码是由混淆序列和随机索引码生成的,且服务器预先在其数据库中存储了随机码和随机索引码,因此,服务器可以根据预先存储的随机索引码确定目标条码中混淆序列。
由于混淆算法是一种可逆运算,因此,服务器可以根据混淆算法、随机码及随机索引码对混淆序列进行混淆逆运算,从而得到解除混淆之后的用户标识和第一摘要。
本申请实施例中,由于服务器预先存储了各个用户标识与用户信息、设备信息之间的对应关系,因此,终端设备可以通过目标条码中的用户标识,确定与其对应的目标用户信息和目标设备信息。
服务器在获取到目标用户信息和目标设备信息后,可以将该目标用户信息与当前用户信息进行对比,将目标设备信息与当前设备信息进行对比。
在本申请的一个实施例中,服务器在检测到目标用户信息与目标用户的用户信息不同,和/或目标设备信息与当前设备信息不同时,可以确定目标条码并不是终端设备生成的,即目标条码被盗用,因此,服务器可以确定目标条码验证失败,并向终端设备发送第一提示信息,该第一提示信息用于描述目标条码验证失败。
在本申请的另一个实施例中,服务器在检测到目标用户信息与目标用户的用户信息相同,且目标设备信息与当前设备信息相同时,可以确定目标条码是终端设备生成的,因此,服务器可以执行步骤S504~S506。
在S504中,服务器根据数据摘要算法计算第二属性信息的第二摘要;所述第二属性信息包括第二标准时间、所述用户标识以及所述目标用户信息和/或所述目标设备信息;所述第二标准时间指从基准时刻到验证时刻的时间。
本申请实施例中,验证时刻指服务器计算第二摘要的时刻。
第二标准时间具体可以用于描述基准时刻到验证时刻的时间段。其中,该时间段用秒数表示。示例性的,假设验证时刻为00:01:25,则第二标准时间为85秒。
结合S208,当终端设备是计算用户标识、第一标准时间以及用户信息三者组合之后的摘要时,服务器也需计算目标条码中的用户标识、第二标准时间以及目标用户信息三者组合之后的摘要。
或者,终端设备是计算用户标识、第一标准时间以及设备信息三者组合之后的摘要时,服务器也需计算目标条码中的用户标识、第二标准时间以及目标设备信息三者组合之后的摘要。
或者,终端设备是计算用户标识、第一标准时间、用户信息及设备信息四者组合之后的摘要时,服务器也需计算目标条码中的用户标识、第二标准时间、目标用户信息及目标设备信息四者组合之后的摘要。
或者,终端设备是计算随机码索引码、第一标准时间、用户信息、设备信息及用户标识五者组合之后的摘要时,服务器也需计算随机索引码、第二标准时间、目标用户信息、目标设备信息及目标条码中的用户标识五者组合之后的摘要。
本申请实施例中,服务器在得到第二摘要后,可以将该第二摘要与第一摘要进行对比。
在本申请的一个实施例中,服务器在检测到第二摘要与第一摘要相同时,可以执行步骤S505~S506。
在本申请的另一个实施例中,服务器在检测到第二摘要与第一摘要不同时,说明服务器验证超时,也就是说,目标条码已失效,因此,服务器可以向终端设备发送第二提示信息,该第二提示信息用于描述目标条码验证超时。
在S505中,服务器若检测到所述第二摘要与所述第一摘要相同,则向所述终端设备发送第三提示信息;所述第三提示信息用于描述所述目标条码验证成功。
本申请实施例中,服务器在检测到第二摘要与第一摘要相同时,说明服务器验证未超时,也就是说,目标条码有效,因此服务器可以向终端设备发送第三提示信息,该第三提示信息用于描述目标条码验证成功。
在本申请的一个实施例中,服务器在向终端设备发送第三提示信息时,可以将目标条码存储至自身数据库中,以避免后续目标条码被重复验证,保证目标条码不被重复使用。
在S506中,终端设备接收所述第三提示信息,并根据所述第三提示信息执行预设操作。
本申请实施例中,预设操作可以根据实际需要确定,此处不作限制,示例性的,假设目标条码为付款码,则终端设备可以执行扣款操作,假设目标条码为收款码,则终端设备可以执行收款操作。
以上可以看出,本申请实施例提供的一种条码验证方法,服务器接收终端设备发送的目标条码,并获取目标条码中的用户标识和第一摘要,根据预先存储的用户标识与用户信息、设备信息之间的对应关系,确定用户标识对应的目标用户信息和目标设备信息;根据数据摘要算法计算第二属性信息的第二摘要;第二属性信息包括第二标准时间、用户标识以及目标用户信息和/或目标设备信息;第二标准时间指从基准时刻到验证时刻的时间;服务器若检测到第二摘要与第一摘要相同,则向终端设备发送第三提示信息;第三提示信息用于描述目标条码验证成功,因此,终端设备在接收到该第三提示信息时,可以根据该第三提示信息执行预设操作。上述条码验证方法,服务器只有在检测到实时生成的第二摘要与从终端设备发送的目标条码中的第一摘要相同时,才能说明条码验证成功,此时,终端设备才可以执行预设操作。由于实时生成的第二摘要与第二标准时间、用户标识、目标用户信息和/或目标设备信息都有关,从而避免了条码被盗用,不仅提高了条码的安全性和可靠性,也保证了用户的资金安全。
在本申请的另一个实施例中,为了进一步提高目标条码的验证准确率和验证成功率,请参阅图6,图6是本申请另一实施例提供的一种条码验证方法的实现流程图。相对于图5对应的实施例,本实施例中的一种条码验证方法在S503之后,还可以包括S601~S603,详述如下:
在S601中,根据所述验证时刻和预设时间范围确定修正时间段。
本实施例中,预设时间范围可以根据实际需要设置,此处不作限制。为了避免目标条码由于长时间的暴露而被盗用,预设时间范围可以设置为(-60s,+60s)。因此,修正时间段可以是验证时刻的前后60秒之内的时间段。
示例性的,假设验证时刻为01:00:20,则修正时间段为00:59:21~01:01:20的时间段。
在S602中,根据所述数据摘要算法确定第三属性信息集合对应的第三摘要集合;所述第三属性信息集合中的任一第三属性信息包括所述修正时间段内的任一时刻、所述用户标识以及所述目标用户信息和/或所述目标设备信息。
本实施例中,服务器可以根据数据数据摘要算法计算第三属性信息集合中各个第三属性信息的第三摘要,从而得到第三属性信息集合对应的第三摘要集合。
需要说明的是,修正时间段内的各个时刻与第三属性集合中的各个第三属性信息一一对应。
结合S208,当终端设备是计算用户标识、第一标准时间以及用户信息三者组合之后的摘要时,服务器也需计算目标条码中的用户标识、修正时间段内任一时刻以及目标用户信息三者组合之后的摘要。
或者,终端设备是计算用户标识、第一标准时间以及设备信息三者组合之后的摘要时,服务器也需计算目标条码中的用户标识、修正时间内任一时刻以及目标设备信息三者组合之后的摘要。
或者,终端设备是计算用户标识、第一标准时间、用户信息及设备信息四者组合之后的摘要时,服务器也需计算目标条码中的用户标识、修正时间段内任一时刻、目标用户信息及目标设备信息四者组合之后的摘要。
或者,终端设备是计算随机码索引码、第一标准时间、用户信息、设备信息及用户标识五者组合之后的摘要时,服务器也需计算随机索引码、修正时间段内任一时刻、目标用户信息、目标设备信息及目标条码中的用户标识五者组合之后的摘要。
本实施例中,服务器在得到第三摘要集合后,可以将该第三摘要集合中的各个第三摘要与第一摘要一一对比。
在本申请的一个实施例中,服务器在检测到第三摘要集合中存在第一摘要时,可以执行步骤S603。
在本申请的一个实施例中,服务器在检测到第三摘要集合中不存在第一摘要,也就是说,第三摘要集合中没有与第一摘要相同的摘要,说明服务器验证超时,也就是说,目标条码已失效,因此,服务器可以向终端设备发送第二提示信息,该第二提示信息用于描述目标条码验证超时。
在S603中,若所述第三摘要集合中存在所述第一摘要,则向所述终端设备发送所述第三提示信息。
本实施例中,服务器在检测到第三摘要集合中存在第一摘要,即第三摘要集合中存在与第一摘要相同的摘要时,说明服务器验证未超时,也就是说,目标条码未失效,因此,服务器可以向终端设备发送第三提示信息,该第三提示信息用于描述目标条码验证成功。
以上可以看出,本申请实施例提供的一种条码验证方法,服务器可以根据验证时刻和预设时间范围确定修正时间段,从而根据数据摘要算法计算第三属性信息对应的第三摘要集合;第三属性信息集合中的任一第三属性信息包括修正时间段内的任一时刻、用户标识以及目标用户信息和/或目标设备信息;并在检测到第三摘要集合中存在第一摘要时,就向终端设备发送第三提示信息。上述条码验证方法考虑到了终端设备将目标条码发送至服务器时所消耗的时间,以及考虑到其他用户扫描目标条码所消耗的时间,从而保证了目标条码在预设时间范围内都是有效的,不仅避免了目标条码频繁失效,也提高了目标条码的验证准确率和验证成功率。
应理解,上述实施例中各步骤的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本申请实施例的实施过程构成任何限定。
对应于上文实施例所述的一种条码生成方法,图7示出了本申请一实施例提供的终端设备的结构框图,为了便于说明,仅示出了与本申请实施例相关的部分。参照图7,该终端设备700包括:第一发送单元71、第一发送单元72、第一计算单元73及第一生成单元74。其中:
第一生成单元71用于生成第一预设位数的随机码,并确定所述随机码的随机索引码。
第一发送单元72用于获取用户信息和设备信息,并将所述用户信息和所述设备信息发送至服务器。
第一计算单元73用于根据数据摘要算法计算第一属性信息的第一摘要;所述第一属性信息包括用户标识、第一标准时间以及所述用户信息和/或所述设备信息;所述第一标准时间指从基准时刻到当前时刻的时间;所述用户标识由所述服务器根据所述用户信息和所述设备信息生成。
第一生成单元74用于根据所述随机索引码、所述用户标识以及所述第一摘要生成目标条码。
在本申请的一个实施例中,第一发送单元72具体包括:第二生成单元、第一加密单元、第二加密单元及第二发送单元。其中:
第二生成单元用于根据随机函数生成第一密钥。
第一加密单元用于根据所述第一密钥对所述用户信息和所述设备信息进行加密,得到第一加密信息。
第二加密单元用于通过预设的非对称加密算法的公钥对所述第一密钥进行加密,得到加密密钥。
第二发送单元用于将所述第一加密信息和所述加密密钥发送至所述服务器。
在本申请的一个实施例中,第一生成单元74具体包括:第一混淆单元和第二生成单元。其中:
第一混淆单元用于根据混淆算法、所述随机码及所述随机索引码对所述用户标识和所述第一摘要进行混淆,得到混淆序列。
第二生成单元用于根据所述随机索引码和所述混淆序列生成所述目标条码。
在本申请的一个实施例中,第一混淆单元具体包括:第二混淆单元和第三混淆单元。其中:
第二混淆单元用于根据所述混淆算法和所述第一摘要对所述用户标识进行混淆,得到混淆标识。
第三混淆单元用于根据所述混淆算法、所述随机码以及所述随机索引码对所述混淆标识、所述第一摘要进行混淆,得到所述混淆序列。
在本申请的一个实施例中,终端设备700还包括:第三发送单元和接收单元。其中:
第三发送单元用于响应于条码验证指令,将所述目标条码发送至所述服务器。
接收单元用于接收第三提示信息,并根据所述第三提示信息执行预设操作;所述第三提示信息为所述服务器对所述目标条码进行条码验证后,返回至所述终端设备的。
图8为本申请一实施例提供的终端设备的结构示意图。如图8所示,该实施例的终端设备10包括:至少一个处理器11(图8中仅示出一个)处理器、存储器12以及存储在所述存储器12中并可在所述至少一个处理器11上运行的计算机程序13,所述处理器11执行所述计算机程序13时实现上述任意一种条码生成方法的实施例中的步骤。
本领域技术人员可以理解,图8仅仅是终端设备10的举例,并不构成对终端设备10的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件,例如还可以包括输入输出设备、网络接入设备等。
所称处理器11可以是中央处理单元(Central Processing Unit,CPU),该处理器11还可以是其他通用处理器、数字信号处理器(Digital Signal Processor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现成可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
所述存储器12在一些实施例中可以是所述终端设备10的内部存储单元,例如终端设备10的硬盘或内存。所述存储器12在另一些实施例中也可以是所述终端设备10的外部存储设备,例如所述终端设备10上配备的插接式硬盘,智能存储卡(Smart Media Card,SMC),安全数字(Secure Digital,SD)卡,闪存卡(Flash Card)等。进一步地,所述存储器12还可以既包括所述终端设备10的内部存储单元也包括外部存储设备。所述存储器12用于存储操作系统、应用程序、引导装载程序(BootLoader)、数据以及其他程序等,例如所述计算机程序的程序代码等。所述存储器12还可以用于暂时地存储已经输出或者将要输出的数据。
本申请实施例还提供了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时可实现上述任意一种条码生成方法的实施例中的步骤。
本申请实施例提供了一种计算机程序产品,当计算机程序产品在终端设备上运行时,使得终端设备执行时可实现上述任意一种条码生成方法的实施例中的步骤。
需要说明的是,上述装置/单元之间的信息交互、执行过程等内容,由于与本申请方法实施例基于同一构思,其具体功能及带来的技术效果,具体可参见方法实施例部分,此处不再赘述。
对应于上文实施例所述的一种条码验证方法,图9示出了本申请一实施例提供的服务器的结构框图,为了便于说明,仅示出了与本申请实施例相关的部分。如图9所示,本实施例提供的服务器900可以包括:第一接收单元91、第一确定单元92、第一计算单元93及第一发送单元94。其中:
第一接收单元91用于接收终端设备发送的目标条码;
第一确定单元92用于获取所述目标条码中的用户标识和第一摘要,并根据预先存储的用户标识与用户信息、设备信息之间的对应关系,确定所述用户标识对应的目标用户信息和目标设备信息。
第一计算单元93用于根据数据摘要算法计算第二属性信息的第二摘要;所述第二属性信息包括第二标准时间、所述用户标识以及所述目标用户信息和/或所述目标设备信息;所述第二标准时间指从基准时刻到验证时刻的时间。
第一发送单元94用于若检测到所述第二摘要与所述第一摘要相同,则向所述终端设备发送第三提示信息;所述第三提示信息用于描述所述目标条码验证成功。
在本申请的一个实施例中,第一接收单元91具体包括:第二接收单元。
第二接收单元用于接收所述终端设备发送的当前用户信息和当前设备信息。
相应的,服务器900还包括:第二发送单元。
第二发送单元用于当检测到所述当前用户信息与所述目标用户信息不同,和/或所述当前设备信息与所述目标设备信息不同时,向所述终端设备发送第一提示信息;所述第一提示信息用于描述所述目标条码验证失败。
在本申请的一个实施例中,服务器900还包括:第三发送单元。
第三发送单元用于若检测到所述第二摘要与所述第一摘要不同,则向所述终端设备发送第二提示信息;所述第二提示信息用于描述所述目标条码验证超时。
在本申请的一个实施例中,服务器900还包括:第二确定单元、第二计算单元及第四发送单元。其中:
第二确定单元用于根据所述验证时刻和预设时间范围确定修正时间段。
第二计算单元用于根据所述数据摘要算法确定第三属性信息集合对应的第三摘要集合;所述第三属性信息集合中的任一第三属性信息包括所述修正时间段内的任一时刻、所述用户标识以及所述目标用户信息和/或所述目标设备信息。
第四发送单元用于若所述第三摘要集合中存在所述第一摘要,则向所述终端设备发送所述第三提示信息。
图10为本申请一实施例提供的服务器的结构示意图。如图10所示,该实施例的服务器20包括:至少一个处理器21(图10中仅示出一个)处理器、存储器22以及存储在所述存储器22中并可在所述至少一个处理器21上运行的计算机程序23,所述处理器21执行所述计算机程序23时实现上述任意一种条码验证方法实施例中的步骤。
所述服务器20可以是桌上型计算机、笔记本、掌上电脑等计算设备。该服务器可包括,但不仅限于,处理器21、存储器22。本领域技术人员可以理解,图10仅仅是服务器20的举例,并不构成对服务器20的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件,例如还可以包括输入输出设备、网络接入设备等。
所称处理器21可以是中央处理单元(Central Processing Unit,CPU),该处理器21还可以是其他通用处理器、数字信号处理器(Digital Signal Processor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现成可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
所述存储器22在一些实施例中可以是所述服务器20的内部存储单元。所述存储器22在另一些实施例中也可以是所述服务器20的外部存储设备,例如所述服务器20上配备的插接式硬盘,智能存储卡(Smart Media Card,SMC),安全数字(Secure Digital,SD)卡,闪存卡(Flash Card)等。所述存储器22用于存储操作系统、应用程序、引导装载程序(BootLoader)、数据以及其他程序等,例如所述计算机程序的程序代码等。所述存储器22还可以用于暂时地存储已经输出或者将要输出的数据。
本申请实施例还提供了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时可实现上述任意一种条码验证方法的实施例中的步骤。
本申请实施例提供了一种计算机程序产品,当计算机程序产品在服务器上运行时,使得服务器执行时可实现上述任意一种条码验证方法的实施例中的步骤。
所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,仅以上述各功能单元、模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能单元、模块完成,即将所述装置的内部结构划分成不同的功能单元或模块,以完成以上描述的全部或者部分功能。实施例中的各功能单元、模块可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中,上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。另外,各功能单元、模块的具体名称也只是为了便于相互区分,并不用于限制本申请的保护范围。上述系统中单元、模块的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述或记载的部分,可以参见其它实施例的相关描述。
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
以上所述实施例仅用以说明本申请的技术方案,而非对其限制;尽管参照前述实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本申请各实施例技术方案的精神和范围,均应包含在本申请的保护范围之内。

Claims (9)

1.一种条码生成方法,应用于终端设备,其特征在于,包括:
生成第一预设位数的随机码,并确定所述随机码的随机索引码;
获取用户信息和设备信息,并将所述用户信息和所述设备信息发送至服务器,包括:根据随机函数生成第一密钥;根据所述第一密钥对所述用户信息和所述设备信息进行加密,得到第一加密信息;通过预设的非对称加密算法的公钥对所述第一密钥进行加密,得到加密密钥;将所述第一加密信息和所述加密密钥发送至所述服务器;
根据数据摘要算法计算第一属性信息的第一摘要;所述第一属性信息包括用户标识、第一标准时间以及所述用户信息和/或所述设备信息;所述第一标准时间指从基准时刻到当前时刻的时间;所述用户标识由所述服务器根据所述用户信息和所述设备信息生成,包括;服务器根据预先存储的与预设的非对称加密算法的公钥对应的私钥,对所述加密密钥进行解密,得到第一密钥;服务器根据解密得到的第一密钥对第一加密信息进行解密,得到用户信息和设备信息;服务器根据所述用户信息和所述设备信息生成用户标识;
根据所述随机索引码、所述用户标识以及所述第一摘要生成目标条码。
2.如权利要求1所述的条码生成方法,其特征在于,所述根据所述随机索引码、所述用户标识以及所述第一摘要生成目标条码,包括:
根据混淆算法、所述随机码及所述随机索引码对所述用户标识和所述第一摘要进行混淆,得到混淆序列;
根据所述随机索引码和所述混淆序列生成所述目标条码。
3.如权利要求2所述的条码生成方法,其特征在于,所述根据混淆算法、所述随机码及所述随机索引码对所述用户标识和所述第一摘要进行混淆,得到混淆序列,包括:
根据所述混淆算法和所述第一摘要对所述用户标识进行混淆,得到混淆标识;
根据所述混淆算法、所述随机码以及所述随机索引码对所述混淆标识、所述第一摘要进行混淆,得到所述混淆序列。
4.如权利要求1-3任一项所述的条码生成方法,其特征在于,所述根据所述随机索引码、所述用户标识以及所述第一摘要生成目标条码之后,还包括:
响应于条码验证指令,将所述目标条码发送至所述服务器;
接收第三提示信息,并根据所述第三提示信息执行预设操作;所述第三提示信息为所述服务器对所述目标条码进行条码验证后,返回至所述终端设备的。
5.一种条码验证方法,应用于服务器,其特征在于,包括:
接收用户信息和设备信息;其中,所述用户信息和所述设备信息由终端设备发送给所述服务器,包括:所述终端设备根据随机函数生成第一密钥;所述终端设备根据所述第一密钥对所述用户信息和所述设备信息进行加密,得到第一加密信息;所述终端设备通过预设的非对称加密算法的公钥对所述第一密钥进行加密,得到加密密钥;所述终端设备将所述第一加密信息和所述加密密钥发送至所述服务器;
根据所述用户信息和所述设备信息生成用户标识,包括:根据预先存储的与预设的非对称加密算法的公钥对应的私钥,对所述加密密钥进行解密,得到第一密钥;根据解密得到的第一密钥对第一加密信息进行解密,得到用户信息和设备信息;服务器根据所述用户信息和所述设备信息生成用户标识;
接收终端设备发送的目标条码;
获取所述目标条码中的用户标识和第一摘要,并根据预先存储的用户标识与用户信息、设备信息之间的对应关系,确定所述用户标识对应的目标用户信息和目标设备信息;
根据数据摘要算法计算第二属性信息的第二摘要;所述第二属性信息包括第二标准时间、所述用户标识以及所述目标用户信息和/或所述目标设备信息;所述第二标准时间指从基准时刻到验证时刻的时间;
若检测到所述第二摘要与所述第一摘要相同,则向所述终端设备发送第三提示信息;所述第三提示信息用于描述所述目标条码验证成功;
所述服务器还用于接收所述用户信息和所述设备信息。
6.如权利要求5所述的条码验证方法,其特征在于,所述接收终端设备发送的目标条码,包括:
接收所述终端设备发送的当前用户信息和当前设备信息;
相应的,所述获取所述目标条码中的用户标识和第一摘要,并根据预先存储的用户标识与用户信息、设备信息之间的对应关系,确定所述用户标识对应的目标用户信息和目标设备信息之后,还包括:
当检测到所述当前用户信息与所述目标用户信息不同,和/或所述当前设备信息与所述目标设备信息不同时,向所述终端设备发送第一提示信息;所述第一提示信息用于描述所述目标条码验证失败。
7.如权利要求5所述的条码验证方法,其特征在于,所述根据数据摘要算法计算第二属性信息的第二摘要之后,还包括:
若检测到所述第二摘要与所述第一摘要不同,则向所述终端设备发送第二提示信息;所述第二提示信息用于描述所述目标条码验证超时。
8.如权利要求5-7任一项所述的条码验证方法,其特征在于,所述获取所述目标条码中的用户标识和第一摘要,并根据预先存储的用户标识与用户信息、设备信息之间的对应关系,确定所述用户标识对应的目标用户信息和目标设备信息之后,还包括:
根据所述验证时刻和预设时间范围确定修正时间段;
根据所述数据摘要算法确定第三属性信息集合对应的第三摘要集合;所述第三属性信息集合中的任一第三属性信息包括所述修正时间段内的任一时刻、所述用户标识以及所述目标用户信息和/或所述目标设备信息;
若所述第三摘要集合中存在所述第一摘要,则向所述终端设备发送所述第三提示信息。
9.一种支付系统,包括终端设备和服务器,所述终端设备用于执行如权利要求1至4任一项所述的条码生成方法的步骤,所述服务器用于执行如权利要求5至8任一项所述的条码验证方法的步骤。
CN202111525729.7A 2021-12-14 2021-12-14 一种条码生成方法、条码验证方法及支付系统 Active CN114219055B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202111525729.7A CN114219055B (zh) 2021-12-14 2021-12-14 一种条码生成方法、条码验证方法及支付系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202111525729.7A CN114219055B (zh) 2021-12-14 2021-12-14 一种条码生成方法、条码验证方法及支付系统

Publications (2)

Publication Number Publication Date
CN114219055A CN114219055A (zh) 2022-03-22
CN114219055B true CN114219055B (zh) 2024-04-05

Family

ID=80701696

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202111525729.7A Active CN114219055B (zh) 2021-12-14 2021-12-14 一种条码生成方法、条码验证方法及支付系统

Country Status (1)

Country Link
CN (1) CN114219055B (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115001676B (zh) * 2022-06-02 2022-12-02 深圳市爱克信智能股份有限公司 一种二维码加密方法、解密方法、系统、终端及存储介质

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106127275A (zh) * 2016-06-23 2016-11-16 福建富士通信息软件有限公司 一种付款条形码的编码方法
CN108154362A (zh) * 2018-01-18 2018-06-12 上海众人网络安全技术有限公司 基于图形条码的交易方法、装置及系统
CN108229966A (zh) * 2018-01-26 2018-06-29 中国银行股份有限公司 一种银行卡交易处理方法、银行卡及银行服务器
CN108537086A (zh) * 2018-03-29 2018-09-14 广东欧珀移动通信有限公司 信息显示方法、装置、存储介质及移动终端
CN111523875A (zh) * 2020-03-03 2020-08-11 支付宝实验室(新加坡)有限公司 跨境支付方法、装置、设备及系统
KR102207466B1 (ko) * 2019-08-16 2021-01-25 한양대학교 에리카산학협력단 암표 방지를 위한 모바일 티켓 생성 방법 및 모바일 티켓 검증 시스템

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
AU2006274486B2 (en) * 2005-07-25 2009-09-17 Silverbrook Research Pty Ltd Product item having coded data identifying a layout
US20170046547A1 (en) * 2015-08-14 2017-02-16 Symbol Technologies, Llc Validating a decoded barcode as an expected barcode

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106127275A (zh) * 2016-06-23 2016-11-16 福建富士通信息软件有限公司 一种付款条形码的编码方法
CN108154362A (zh) * 2018-01-18 2018-06-12 上海众人网络安全技术有限公司 基于图形条码的交易方法、装置及系统
CN108229966A (zh) * 2018-01-26 2018-06-29 中国银行股份有限公司 一种银行卡交易处理方法、银行卡及银行服务器
CN108537086A (zh) * 2018-03-29 2018-09-14 广东欧珀移动通信有限公司 信息显示方法、装置、存储介质及移动终端
KR102207466B1 (ko) * 2019-08-16 2021-01-25 한양대학교 에리카산학협력단 암표 방지를 위한 모바일 티켓 생성 방법 및 모바일 티켓 검증 시스템
CN111523875A (zh) * 2020-03-03 2020-08-11 支付宝实验室(新加坡)有限公司 跨境支付方法、装置、设备及系统

Also Published As

Publication number Publication date
CN114219055A (zh) 2022-03-22

Similar Documents

Publication Publication Date Title
US9525549B2 (en) Method and apparatus for securing a mobile application
US6950523B1 (en) Secure storage of private keys
US8251286B2 (en) System and method for conducting secure PIN debit transactions
CN112425114B (zh) 受公钥-私钥对保护的密码管理器
EP2999189A1 (en) Network authentication method for secure electronic transactions
KR20180117715A (ko) 개선된 보안성을 갖는 사용자 인증을 위한 방법 및 시스템
US9009817B1 (en) Virtual smart card to perform security-critical operations
KR20130131682A (ko) 웹 서비스 사용자 인증 방법
JP2008269610A (ja) リモートアプリケーションを対象とした機密データの保護
US20110047378A1 (en) System and method for identifying account and peripheral device thereof
US20200295929A1 (en) Authentication device based on biometric information and operation method thereof
CN113691502A (zh) 通信方法、装置、网关服务器、客户端及存储介质
US20180262471A1 (en) Identity verification and authentication method and system
CN113572743A (zh) 数据加密、解密方法、装置、计算机设备和存储介质
CN108667784B (zh) 互联网身份证核验信息保护的系统和方法
KR102012262B1 (ko) 키 관리 방법 및 fido 소프트웨어 인증장치
CN113553572A (zh) 资源信息获取方法、装置、计算机设备和存储介质
JP2012080152A (ja) 暗号化システム、暗号化装置、復号装置、暗号化システムプログラム及び暗号化方法
KR20130031435A (ko) 휴대용 단말의 암호화 키 생성 및 관리 방법 및 그 장치
CN114219055B (zh) 一种条码生成方法、条码验证方法及支付系统
CN107548542B (zh) 经强化完整性及安全性的用户认证方法
CN113536367B (zh) 一种注册方法、隐私服务器、业务信息服务器及注册系统
CN110968878A (zh) 信息传输方法、系统、电子设备及可读介质
JP6701011B2 (ja) 端末登録方法、及び端末登録システム
WO2011030352A2 (en) System and method for mobile phone resident digital signing and encryption/decryption of sms

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