二维码生成和验证方法
【技术领域】
[0001]本发明涉及数据处理领域,尤其涉及一种二维码生成和验证方法。
【背景技术】
[0002]随着二维码技术的发展,二维码广泛的应用在信息获取、会员管理、广告推送、数据验证等领域。现有技术应用二维码时,一般使用固定的二维码图片;然而,固定的二维码图片易被复制和传播,安全性较差。
【发明内容】
[0003]本发明提供一种二维码生成和验证方法,能够提高安全性。
[0004]本发明解决技术问题采用如下技术方案:一种二维码生成方法,包括:S10、接收到用户输入的数据验证指示时,根据所述数据验证指示获取对应的验证数据;S20、获取接收所述数据验证指示的接收时刻并以O为计时起点开始计时;S30、根据预设时钥、私钥和公钥对所述当前时刻和所述验证数据进行加密,得到加密数据;所述公钥与所述时钥和私钥对应;S40、生成所述加密数据对应的二维码并显示,使用户根据所述二维码进行验证;S50、当所述计时的时间达到预设刷新周期时,更新所述验证数据,并使用更新后的验证数据执行所述S20至S50。
[0005]可选的,本发明实施例提供的二维码生成方法,还包括:S60、接收用户输入的刷新周期更改指示,根据所述刷新周期更改指示更改所述刷新周期。
[0006]可选的,本发明实施例提供的二维码生成方法中,所述S10,包括:S101、根据所述数据验证指示获取具体内容;S102、获取所述具体内容对应的内容标记;S103、获取包括所述具体内容和内容标记的验证数据。
[0007]可选的,本发明实施例提供的二维码生成方法,所述数据验证指示为景区电子票券验证指示时,所述步骤101包括:根据所述数据验证指示获取包括景区名称、景区门票类型、门票数量、门票金额、门票号码和门票经销商中一种或多种的具体内容。
[0008]可选的,本发明实施例提供的二维码生成方法,所述S30,包括:S301、将所述时钥乘以所述当前时刻,得到时间加密数据;S302、通过所述私钥和公钥从所述内容标记中提取预设位数的数据,得到标记加密数据;S303、将所述私钥分别加上所述具体内容中一项或多项数据内容,得到内容加密数据;S304、根据所述时间加密数据、标记加密数据和所述内容加密数据生成所述加密数据。
[0009]可选的,本发明实施例提供的二维码生成方法,所述具体内容中包括门票号码时,所述S30,还包括:S305、获取所述门票号码和所述公钥的重叠值,得到号码加密数据;所述S303为,将所述私钥分别加上所述具体内容中除所述门票号码外的一项或多项数据内容,得到内容加密数据;所述S304具体为,根据所述时间加密数据、标记加密数据、号码加密数据和内容加密数据生成加密数据。
[0010]本发明解决技术问题采用如下技术方案:一种二维码验证方法,包括:S10、获取加密数据对应的二维码,所述加密数据为待验证数据经预设时钥和私钥加密后得到的;S20、对所述二维码进行解析,得到所述加密数据;S30、获取当前时刻和预设刷新周期;S40、根据所述当前时刻、刷新周期和预设公钥对所述加密数据进行验证,得到验证结果;所述公钥与所述私钥和时钥对应。
[0011]可选的,本发明实施例提供的二维码验证方法中,所述S40,包括:S401、根据预设公钥对所述加密数据进行解密,得到接收时刻和解密数据;S402、判断所述当前时刻与接收时刻的时间差是否大于预设刷新周期,如果不大于,执行S403 ;否则,得到验证失败的验证结果;S403、判断所述解密数据与所述接收时刻获取的验证结果是否一致;如果一致,得到验证成功的验证结果;否则,得到验证失败的验证结果。
[0012]本发明具有如下有益效果:在验证数据对应的加密数据生成二维码后,根据预设刷新周期对验证数据和二维码进行更新,从而防止二维码被复制和传播,进而提高安全性。该方案解决了现有技术中固定的二维码图片易被复制和传播,安全性较差的问题。此外,该加密数据由预设私钥和时钥生成,能够进一步提高安全性。
【附图说明】
[0013]图1为本发明实施例1提供的二维码生成方法的流程图一;
[0014]图2为本发明实施例1提供的二维码生成方法的流程图二 ;
[0015]图3为本发明实施例2提供的二维码验证方法的流程图。
【具体实施方式】
[0016]下面结合实施例及附图对本发明的技术方案作进一步阐述。
[0017]实施例1
[0018]如图1所示,本实施例提供了一种二维码生成方法,包括:
[0019]步骤101,接收到用户输入的数据验证指示时,根据该数据验证指示获取对应的验证数据。
[0020]在本实施例中,用户输入的数据验证指示需要指示数据验证的具体类型,如指示进行支付验证、电子票券验证、门锁验证等;以对景区的电子票券验证为例,该数据验证指示还可以指示数据验证的具体内容,如景区名称、景区门票类型等,以及该具体内容对应的内容标记。
[0021]在本实施例中,通过步骤101获取对应的验证数据的过程包括:根据该数据验证指示获取具体内容;获取具体内容对应的内容标记;获取包括该具体内容和内容标记的验证数据。其中,根据验证指示获取具体内容,可以为从预先存储的数据库中获取数据验证指示对应的具体内容;获取具体内容对应的内容标记,可以为根据预设标记规则获取该具体内容对应的内容标记。
[0022]特别的,当步骤101中数据验证指示为景区电子票券验证指示时,根据验证指示获取的具体内容包括:景区名称、景区门票类型、门票数量、门票金额、门票号码和门票经销商中一种或多种。
[0023]步骤102,获取接收数据验证指示的接收时刻并以O为计时起点开始计时。
[0024]步骤103,根据预设时钥、私钥和公钥对当前时刻和验证数据进行加密,得到加密数据。
[0025]在本实施例中,通过步骤103得到加密数据的过程,包括:将所述时钥乘以所述当前时刻,得到时间加密数据;通过所述私钥和公钥从所述内容标记中提取预设位数的数据,得到标记加密数据;将所述私钥分别加上所述具体内容中一项或多项数据内容,得到内容加密数据;根据所述时间加密数据、标记加密数据和所述内容加密数据生成所述加密数据。其中,得到标记加密数据的过程包括先公钥后私钥,各取一位,共取四位,在此不再一一赘述。数据验证为景区电子票券验证指示时,将私钥分别加上具体内容中一项或多项数据内容,可以为将私钥加上景区名称,在此不作限制;当私钥或具体内容中包含字母时,可以直接按字母的先后顺序排列,在此不再一一赘述。
[0026]此时,当具体内容中包括门票号码时,通过步骤103得到加密数据的过程,包括:将所述时钥乘以所述当前时刻,得到时间加密数据;通过所述私钥和公钥从所述内容标记中提取预设位数的数据,得到标记加密数据;将所述私钥分别加上所述具体内容中一项或多项数据内容,得到内容加密数据;获取所述门票号码和所述公钥的重叠值,得到号码加密数据;根据所述时间加密数据、标记加密数据、号码加密数据和内容加密数据生成加密数据。其中,步骤103中公钥与时钥和私钥对应;获取门票号码和公钥的重叠值的方式可以为,先上后下,由后至前,空用零补。
[0027]步骤104,生成加密数
据对应的二维码并显示,使用户根据该二维码进行验证。
[0028]步骤105,当计时的时间达到预设刷新周期时,更新验证数据。
[0029]在本实施例中,通过步骤105更新验证数据后,可以使用更新后的验证数据执行步骤102至步骤105。
[0030]进一步的,如图2所示,本实施例提供的二维码生成方法,还包括:
[0031]步骤106,接收用户输入的刷新周期更改指示,根据该刷新周期更改指示更改该刷新周期。
[0032]在本实施例中,刷新周期可以由系统设置,也可以根据用户需要更改。特别的该刷新周期可以限定为I秒至365天。
[0033]本发明具有如下有益效果:在验证数据对应的加密数据生成二维码后,根据预设刷新周期对验证数据和二维码进行更新,从而防止二维码被复制和传播,进而提高安全性。该方案解决了现有技术中固定的二维码图片易被复制和传播,安全性较差的问题。此外,该加密数据由预设私钥和时钥生成,能够进一步提高安全性。
[0034]实施例2
[0035]如图3所示,本实施例提供了一种二维码验证方法,包括:
[0036]步骤301,获取加密数据对应的二维码。
[0037]在本实施例中,步骤301中加密数据为待验证数据经预设时钥和私钥加密后得到的;具体生成二维码的过程与本发明实施例1提供的过程相似,在此不再一一赘述。生成二维码后,可以通过扫描或拍照的方式,实现二维码的获取,在此不作限制。
[0038]步骤302,对该二维码进行解析,得到加密数据。
[0039]步骤303,获取当前时刻和预设刷新周期。
[0040]步骤304,根据该当前时刻、刷新周期和预设公钥对加密数据进行验证,得到验证结果。
[0041]在本实施例中,通过步骤304进行验证的过程包括:根据预设公钥对所述加密数据进行解密,得到接收时刻和解密数据;判断所述当前时刻与接收时刻的时间差是否大于预设刷新周期,如果大于,得到验证失败的验证结果;如果不大于,判断所述解密数据与所述接收时刻获取的验证结果是否一致;如果一致,得到验证成功的验证结果;否则,得到验证失败的验证结果。其中,步骤304中公钥与私钥和时钥对应。
[0042]本发明具有如下有益效果:对二维码进行验证时,通过当前时刻、刷新周期和预设公钥进行共同验证,从而防止二维码被复制和传播,进而提高安全性。该方案解决了现有技术中固定的二维码图片易被复制和传播,安全性较差的问题。此外,该加密数据由预设私钥和时钥生成,能够进一步提高安全性。
[0043]以上实施例的先后顺序仅为便于描述,不代表实施例的优劣。
[0044]最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。
【主权项】
1.一种二维码生成方法,其特征在于,包括: S10、接收到用户输入的数据验证指示时,根据所述数据验证指示获取对应的验证数据; S20、获取接收所述数据验证指示的接收时刻并以O为计时起点开始计时; S30、根据预设时钥、私钥和公钥对所述当前时刻和所述验证数据进行加密,得到加密数据;所述公钥与所述时钥和私钥对应; S40、生成所述加密数据对应的二维码并显示,使用户根据所述二维码进行验证; S50、当所述计时的时间达到预设刷新周期时,更新所述验证数据,并使用更新后的验证数据执行所述S20至S50。2.根据权利要求1所述的二维码生成方法,其特征在于,还包括: S60、接收用户输入的刷新周期更改指示,根据所述刷新周期更改指示更改所述刷新周期。3.根据权利要求1所述的二维码生成方法,其特征在于,所述S10,包括: 5101、根据所述数据验证指示获取具体内容; 5102、获取所述具体内容对应的内容标记; 5103、获取包括所述具体内容和内容标记的验证数据。4.根据权利要求3所述的二维码生成方法,其特征在于,所述数据验证指示为景区电子票券验证指示时,所述步骤101包括: 根据所述数据验证指示获取包括景区名称、景区门票类型、门票数量、门票金额、门票号码和门票经销商中一种或多种的具体内容。5.根据权利要求3或4所述的二维码生成方法,其特征在于,所述S30,包括: 5301、将所述时钥乘以所述当前时刻,得到时间加密数据; 5302、通过所述私钥和公钥从所述内容标记中提取预设位数的数据,得到标记加密数据; 5303、将所述私钥分别加上所述具体内容中一项或多项数据内容,得到内容加密数据; 5304、根据所述时间加密数据、标记加密数据和所述内容加密数据生成所述加密数据。6.根据权利要求5所述的二维码生成方法,其特征在于,所述具体内容中包括门票号码时,所述S30,还包括: 5305、获取所述门票号码和所述公钥的重叠值,得到号码加密数据; 所述S303为,将所述私钥分别加上所述具体内容中除所述门票号码外的一项或多项数据内容,得到内容加密数据; 所述S304具体为,根据所述时间加密数据、标记加密数据、号码加密数据和内容加密数据生成加密数据。7.一种使用权利要求1至4中任意一项二维码生成方法生成的二维码进行验证的方法,其特征在于,包括: S10、获取加密数据对应的二维码,所述加密数据为待验证数据经预设时钥和私钥加密后得到的; S20、对所述二维码进行解析,得到所述加密数据; S30、获取当前时刻和预设刷新周期; S40、根据所述当前时刻、刷新周期和预设公钥对所述加密数据进行验证,得到验证结果;所述公钥与所述私钥和时钥对应。8.根据权利要求7所述的方法,其特征在于,所述S40,包括: . 5401、根据预设公钥对所述加密数据进行解密,得到接收时刻和解密数据; . 5402、判断所述当前时刻与接收时刻的时间差是否大于预设刷新周期,如果不大于,执行S403 ;否则,得到验证失败的验证结果; .5403、判断所述解密数据与所述接收时刻获取的验证结果是否一致;如果一致,得到验证成功的验证结果;否则,得到验证失败的验证结果。
【专利摘要】本发明公开了一种二维码生成和验证方法,数据处理领域。本发明实施例公开的技术方案包括:S10、接收到用户输入的数据验证指示时,根据所述数据验证指示获取对应的验证数据;S20、获取接收所述数据验证指示的接收时刻并以0为计时起点开始计时;S30、根据预设时钥、私钥和公钥对所述当前时刻和所述验证数据进行加密,得到加密数据;所述公钥与所述时钥和私钥对应;S40、生成所述加密数据对应的二维码并显示,使用户根据所述二维码进行验证;S50、当所述计时的时间达到预设刷新周期时,更新所述验证数据,并使用更新后的验证数据执行所述S20至S50。该方案可以应用在支付验证、电子票券验证、门锁验证等领域。
【IPC分类】G06K19/06
【公开号】CN104881698
【申请号】CN201510282365
【发明人】程序
【申请人】程序
【公开日】2015年9月2日
【申请日】2015年5月28日
转载请注明原文地址:https://www.famiwei.com/read-8138378.html