CN111860727B - 二维码生成方法、验证方法、设备及计算机可读存储介质 - Google Patents
二维码生成方法、验证方法、设备及计算机可读存储介质 Download PDFInfo
- Publication number
- CN111860727B CN111860727B CN202010754292.3A CN202010754292A CN111860727B CN 111860727 B CN111860727 B CN 111860727B CN 202010754292 A CN202010754292 A CN 202010754292A CN 111860727 B CN111860727 B CN 111860727B
- Authority
- CN
- China
- Prior art keywords
- dimensional code
- code
- content data
- health
- user
- 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
Links
- 238000012795 verification Methods 0.000 title claims abstract description 123
- 238000000034 method Methods 0.000 title claims abstract description 79
- 230000036541 health Effects 0.000 claims description 267
- 238000012545 processing Methods 0.000 claims description 26
- 230000008569 process Effects 0.000 claims description 10
- 230000008901 benefit Effects 0.000 abstract description 5
- 238000013507 mapping Methods 0.000 description 30
- 238000004891 communication Methods 0.000 description 12
- 239000003086 colorant Substances 0.000 description 3
- 238000005242 forging Methods 0.000 description 3
- 230000006870 function Effects 0.000 description 3
- 230000003993 interaction Effects 0.000 description 3
- 230000003068 static effect Effects 0.000 description 3
- 238000010586 diagram Methods 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 238000007689 inspection Methods 0.000 description 2
- 238000013473 artificial intelligence Methods 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 230000009191 jumping Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000004091 panning Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06K—GRAPHICAL DATA READING; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
- G06K17/00—Methods or arrangements for effecting co-operative working between equipments covered by two or more of main groups G06K1/00 - G06K15/00, e.g. automatic card files incorporating conveying and reading operations
- G06K17/0022—Methods or arrangements for effecting co-operative working between equipments covered by two or more of main groups G06K1/00 - G06K15/00, e.g. automatic card files incorporating conveying and reading operations arrangements or provisions for transferring data to distant stations, e.g. from a sensing device
- G06K17/0025—Methods or arrangements for effecting co-operative working between equipments covered by two or more of main groups G06K1/00 - G06K15/00, e.g. automatic card files incorporating conveying and reading operations arrangements or provisions for transferring data to distant stations, e.g. from a sensing device the arrangement consisting of a wireless interrogation device in combination with a device for optically marking the record carrier
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/602—Providing cryptographic facilities or services
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2221/00—Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F2221/21—Indexing scheme relating to G06F21/00 and subgroups addressing additional information or applications relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F2221/2107—File encryption
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02A—TECHNOLOGIES FOR ADAPTATION TO CLIMATE CHANGE
- Y02A90/00—Technologies having an indirect contribution to adaptation to climate change
- Y02A90/10—Information and communication technologies [ICT] supporting adaptation to climate change, e.g. for weather forecasting or climate simulation
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Health & Medical Sciences (AREA)
- Computer Networks & Wireless Communication (AREA)
- Bioethics (AREA)
- General Health & Medical Sciences (AREA)
- Computer Hardware Design (AREA)
- Computer Security & Cryptography (AREA)
- Software Systems (AREA)
- Storage Device Security (AREA)
Abstract
本发明公开了一种二维码生成方法、验证方法、生成设备、验证设备及计算机可读存储介质,所述生成方法包括:将目标用户的二维码申请信息上传至服务器,以供所述服务器根据所述二维码申请信息反馈二维码原始内容数据;采用预设信息摘要算法生成所述二维码原始内容数据的摘要串;采用所述目标用户对应的私钥对所述摘要串进行加密得到二维码加密内容数据;根据所述二维码加密内容数据生成二维码。本发明中双重加密的方式增加了对二维码中所携带信息的篡改难度,从而避免了不法分子通过篡改二维码信息获得不法利益,提高了二维码的安全性。
Description
技术领域
本发明涉及人工智能技术领域,尤其涉及一种二维码生成方法、验证方法、生成设备、验证设备及计算机可读存储介质。
背景技术
二维码是一个近几年来非常流行的新型的条码技术,是在一维条码的基础上扩展出另一维具有可读性的条码,使用黑白矩形图案表示0进制数据,被设备扫描后可获取其中所包含的信息。目前,二维码的应用非常广泛,在日常购物、收款和信息验证等日常操作中,二维码为我们带来了极大的便利。但是,由于二维码往往涉及到我们的金钱和人身利益,一些不法分子通过篡改二维码中的信息达到其不法目的,从而带来了二维码的安全问题。
发明内容
本发明的主要目的在于提供一种二维码生成方法、验证方法、生成设备、验证设备及计算机可读存储介质,旨在解决目前的二维码容易被篡改信息,安全性低的问题。
为实现上述目的,本发明提供一种二维码生成方法,所述方法应用于用户端,所述方法包括以下步骤:
将目标用户的二维码申请信息上传至服务器,以供所述服务器根据所述二维码申请信息反馈二维码原始内容数据;
采用预设信息摘要算法生成所述二维码原始内容数据的摘要串;
采用所述目标用户对应的私钥对所述摘要串进行加密得到二维码加密内容数据;
根据所述二维码加密内容数据生成二维码。
可选地,所述二维码申请信息包括所述目标用户的用户标识、健康信息和与所述私钥对应的公钥,
所述将所述目标用户的二维码申请信息上传至服务器,以供所述服务器根据所述二维码申请信息反馈二维码原始内容数据的步骤包括:
将所述二维码申请信息上传至服务器,以供所述服务器根据所述健康信息生成所述目标用户的健康风险等级,将所述健康风险等级与所述用户标识和所述公钥进行绑定,并将所述健康风险等级作为二维码原始内容数据返回。
可选地,所述健康信息包括所述目标用户的历史时空轨迹信息,所述采用预设信息摘要算法生成所述二维码原始内容数据的摘要串的步骤包括:
采用预设信息摘要算法生成所述二维码原始内容数据、所述健康信息和所述用户标识的摘要串。
可选地,所述将目标用户的二维码申请信息上传至服务器,以供所述服务器根据所述二维码申请信息反馈二维码原始内容数据的步骤之前,还包括:
当检测到所述目标用户对应的身份验证指令时,对所述目标用户进行身份验证;
当检测到身份验证成功后,获取所述目标用户的用户标识并根据所述用户标识生成所述目标用户的私钥和公钥。
可选地,当所述二维码为健康码时,所述根据所述二维码加密内容数据生成二维码的步骤之后,还包括:
在刷新所述健康码的各帧画面时,对各帧画面对应的目标区域做预设动态处理,以动态显示所述健康码。
可选地,所述在刷新所述健康码的各帧画面时,对各帧画面对应的目标区域做预设动态处理的步骤包括:
基于刷新所述健康码的帧画面的刷新时刻和/或所述健康码中的携带信息,从所述健康码的多个待选区域中确定所述帧画面对应的目标区域,并在刷新所述健康码的各帧画面时,对各帧画面对应的目标区域做预设动态处理。
为实现上述目的,本发明提供一种二维码验证方法,所述方法应用于服务器,所述方法包括以下步骤:
接收扫描设备上传的用户标识和二维码加密内容数据,其中,所述用户标识和二维码加密内容数据是所述扫描设备扫描用户端中显示的二维码获取到的;
从数据库中匹配得到与所述用户标识绑定的公钥和二维码原始内容数据;
采用所述公钥对所述二维码加密内容数据进行解密得到解密数据;
采用预设信息摘要算法生成所述二维码原始内容数据的摘要串,并比对所述摘要串和所述解密数据,根据比对结果得到二维码验证结果。
可选地,所述比对所述摘要串和所述解密数据,根据比对结果得到二维码验证结果的步骤包括:
比对所述摘要串和所述解密数据是否一致;
当所述摘要串和所述解密数据一致时,得到验证成功的二维码验证结果;
当所述摘要串和所述解密数据不一致时,得到验证失败的二维码验证结果;
所述比对所述摘要串和所述解密数据,根据比对结果得到二维码验证结果的步骤之后,还包括:
将所述二维码验证结果发送给所述扫描设备,以供所述扫描设备输出所述二维码验证结果。
为实现上述目的,本发明还提供一种二维码生成设备,所述二维码生成设备包括:存储器、处理器及存储在所述存储器上并可在所述处理器上运行的二维码生成程序,所述二维码生成程序被所述处理器执行时实现如上所述的二维码生成方法的步骤。
为实现上述目的,本发明还提供一种二维码验证设备,所述二维码验证设备包括:存储器、处理器及存储在所述存储器上并可在所述处理器上运行的二维码验证程序,所述二维码验证程序被所述处理器执行时实现如上所述的二维码验证方法的步骤。
为实现上述目的,本发明还提出一种计算机可读存储介质,所述计算机可读存储介质上存储有二维码生成程序,所述二维码生成程序被处理器执行时实现如上所述的二维码生成方法的步骤。
此外,为实现上述目的,本发明还提出一种计算机可读存储介质,所述计算机可读存储介质上存储有二维码验证程序,所述二维码验证程序被处理器执行时实现如上所述的二维码验证方法的步骤。
本发明中,通过将目标用户的二维码申请信息上传至服务器,以供所述服务器根据所述二维码申请信息反馈二维码原始内容数据;并采用预设信息摘要算法生成二维码原始内容数据的摘要串,以对数据进行一重加密;再采用私钥对摘要串进行加密,以对数据进行二重加密,将加密结果生成二维码。双重加密的方式增加了对二维码中所携带信息的篡改难度,从而避免了不法分子通过篡改二维码信息获得不法利益,提高了二维码的安全性。并且,通过信息摘要算法生成二维码原始内容数据的摘要串后,根据摘要串无法解密得到二维码原始内容数据,从而避免了二维码原始内容数据中所携带的用户敏感信息泄露,保证了用户的隐私安全。
附图说明
图1为本发明实施例方案涉及的硬件运行环境的结构示意图;
图2为本发明二维码生成方法第一实施例的流程示意图;
图3为本发明实施例涉及的一种二维码示意图。
本发明目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。
具体实施方式
应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
如图1所示,图1是本发明实施例方案涉及的硬件运行环境的设备结构示意图。
需要说明的是,本发明实施例二维码生成设备可以是智能手机、个人计算机和服务器等设备,在此不做具体限制。
如图1所示,该二维码生成设备可以包括:处理器1001,例如CPU,网络接口1004,用户接口1003,存储器1005,通信总线1002。其中,通信总线1002用于实现这些组件之间的连接通信。用户接口1003可以包括显示屏(Display)、输入单元比如键盘(Keyboard),可选用户接口1003还可以包括标准的有线接口、无线接口。网络接口1004可选的可以包括标准的有线接口、无线接口(如WI-FI接口)。存储器1005可以是高速RAM存储器,也可以是稳定的存储器(non-volatile memory),例如磁盘存储器。存储器1005可选的还可以是独立于前述处理器1001的存储装置。
本领域技术人员可以理解,图1中示出的设备结构并不构成对二维码生成设备的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。
如图1所示,作为一种计算机存储介质的存储器1005中可以包括操作***、网络通信模块、用户接口模块以及二维码生成程序。其中,操作***是管理和控制设备硬件和软件资源的程序,支持二维码生成程序以及其它软件或程序的运行。在图1所示的设备中,用户接口1003主要用于与客户端进行数据通信;网络接口1004主要用于服务器建立通信连接;处理器1001可以用于调用存储器1005中存储的二维码生成程序,并执行以下操作:
将目标用户的二维码申请信息上传至服务器,以供所述服务器根据所述二维码申请信息反馈二维码原始内容数据;
采用预设信息摘要算法生成所述二维码原始内容数据的摘要串;
采用所述目标用户对应的私钥对所述摘要串进行加密得到二维码加密内容数据;
根据所述二维码加密内容数据生成二维码。
进一步地,所述二维码申请信息包括所述目标用户的用户标识、健康信息和与所述私钥对应的公钥,
所述将所述目标用户的二维码申请信息上传至服务器,以供所述服务器根据所述二维码申请信息反馈二维码原始内容数据的步骤包括:
将所述二维码申请信息上传至服务器,以供所述服务器根据所述健康信息生成所述目标用户的健康风险等级,将所述健康风险等级与所述用户标识和所述公钥进行绑定,并将所述健康风险等级作为二维码原始内容数据返回。
进一步地,所述健康信息包括所述目标用户的历史时空轨迹信息,所述采用预设信息摘要算法生成所述二维码原始内容数据的摘要串的步骤包括:
采用预设信息摘要算法生成所述二维码原始内容数据、所述健康信息和所述用户标识的摘要串。
进一步地,所述将目标用户的二维码申请信息上传至服务器,以供所述服务器根据所述二维码申请信息反馈二维码原始内容数据的步骤之前,处理器1001还可以用于调用存储器1005中存储的二维码生成程序,并执行以下操作:
当检测到所述目标用户对应的身份验证指令时,对所述目标用户进行身份验证;
当检测到身份验证成功后,获取所述目标用户的用户标识并根据所述用户标识生成所述目标用户的私钥和公钥。
进一步地,当所述二维码为健康码时,所述根据所述二维码加密内容数据生成二维码的步骤之后,处理器1001还可以用于调用存储器1005中存储的二维码生成程序,并执行以下操作:
在刷新所述健康码的各帧画面时,对各帧画面对应的目标区域做预设动态处理,以动态显示所述健康码。
进一步地,所述在刷新所述健康码的各帧画面时,对各帧画面对应的目标区域做预设动态处理的步骤包括:
基于刷新所述健康码的帧画面的刷新时刻和/或所述健康码中的携带信息,从所述健康码的多个待选区域中确定所述帧画面对应的目标区域,并在刷新所述健康码的各帧画面时,对各帧画面对应的目标区域做预设动态处理。
进一步地,此外本发明实施例还提出一种二维码验证设备,本发明实施例二维码验证设备可以是智能手机、个人计算机和服务器等设备,在此不做具体限制。该二维码验证设备可以包括:处理器,例如CPU,网络接口,用户接口,存储器,通信总线。其中,通信总线用于实现这些组件之间的连接通信。用户接口可以包括显示屏(Display)、输入单元比如键盘(Keyboard),可选用户接口还可以包括标准的有线接口、无线接口。网络接口可选的可以包括标准的有线接口、无线接口(如WI-FI接口)。存储器可以是高速RAM存储器,也可以是稳定的存储器(non-volatile memory),例如磁盘存储器。存储器可选的还可以是独立于前述处理器的存储装置。
作为一种计算机存储介质的存储器中可以包括操作***、网络通信模块、用户接口模块以及二维码显示程序。其中,操作***是管理和控制设备硬件和软件资源的程序,支持二维码显示程序以及其它软件或程序的运行。在图1所示的设备中,用户接口主要用于与客户端进行数据通信;网络接口主要用于服务器建立通信连接;处理器可以用于调用存储器中存储的二维码显示程序,并执行以下操作:
接收扫描设备上传的用户标识和二维码加密内容数据,其中,所述用户标识和二维码加密内容数据是所述扫描设备扫描用户端中显示的二维码获取到的;
从数据库中匹配得到与所述用户标识绑定的公钥和二维码原始内容数据;
采用所述公钥对所述二维码加密内容数据进行解密得到解密数据;
采用预设信息摘要算法生成所述二维码原始内容数据的摘要串,并比对所述摘要串和所述解密数据,根据比对结果得到二维码验证结果。
进一步地,所述比对所述摘要串和所述解密数据,根据比对结果得到二维码验证结果的步骤包括:
比对所述摘要串和所述解密数据是否一致;
当所述摘要串和所述解密数据一致时,得到验证成功的二维码验证结果;
当所述摘要串和所述解密数据不一致时,得到验证失败的二维码验证结果;
所述比对所述摘要串和所述解密数据,根据比对结果得到二维码验证结果的步骤之后,处理器还可以用于调用存储器中存储的二维码验证程序,并执行以下操作:
将所述二维码验证结果发送给所述扫描设备,以供所述扫描设备输出所述二维码验证结果。
基于上述的结构,提出二维码生成方法的各实施例。
参照图2,图2为本发明二维码生成方法第一实施例的流程示意图。需要说明的是,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。本发明二维码生成方法应用于用户端,用户端可以是部署于智能手机、个人计算机和服务器等设备。在本实施例中,二维码生成方法包括:
步骤S10,将目标用户的二维码申请信息上传至服务器,以供所述服务器根据所述二维码申请信息反馈二维码原始内容数据;
用户端中可设置供用户申请二维码的用户交互界面,用户基于用户交互界面可触发二维码申请指令。用户端可通过用户的用户标识区分各个用户,其中,用户标识可以是用户的手机号码、身份证号码等具备唯一属性的标识信息。
用户端可在检测到二维码申请指令后,将目标用户的二维码申请信息上传至服务器。其中,二维码申请信息即向服务器申请二维码时所需要提交的信息,可以理解的是,根据具体的应用场景不同,二维码申请信息的内容不同。例如,当要申请的是健康码时,二维码申请信息中可包括目标用户的健康证明等健康信息。二维码申请信息可以是用户通过用户交互界面上传至用户端的,也可以是用户端从其他第三方平台拉取的,具体并不限制其来源。
服务器接收二维码申请信息,并根据二维码申请信息反馈二维码原始内容数据。具体地,根据具体应用场景不同,服务器可对二维码申请信息进行审核或验证操作,并生成与该二维码申请信息对应的二维码原始内容数据。例如,当要申请的是健康码时,服务器可根据二维码申请信息中的健康信息确定目标用户的健康风险等级,进而将健康风险等级作为二维码原始内容数据返回给用户端。
进一步地,所述步骤S10之前,还包括:
步骤a,当检测到所述目标用户对应的身份验证指令时,对所述目标用户进行身份验证;
步骤b,当检测到身份验证成功后,获取所述目标用户的用户标识并根据所述用户标识生成所述目标用户的私钥和公钥。
为提高二维码的安全性,避免他人冒用用户身份申请二维码,用户端可对目标用户进行身份验证。具体地,可在申请二维码之前或登录用户端时设置身份验证界面,供用户触发身份验证指令。当用户端检测到目标用户对应的身份验证指令后,对目标用户进行身份验证。其中,身份验证方法可以是指纹验证、人脸验证或短信验证码验证等常用的身份验证方法,在此不作限制。
当身份验证成功后,用户端获取目标用户的用户标识,并根据该用户标识生成目标用户的私有和公钥,将私有和公钥与用户标识进行绑定,不可更改。其中,用户端可以以用户标识为种子,采用常用的密钥生成算法生成用户私钥和公钥。
步骤S20,采用预设信息摘要算法生成所述二维码原始内容数据的摘要串;
用户端在从服务器获取到二维码原始内容数据后,可先采用预设信息摘要算法生成该二维码原始内容数据的摘要串。其中,预设信息摘要算法可以是常用的信息摘要算法(也称消息摘要算法),例如,MD5算法。通过信息摘要算法进行加密的数据无法被解密,且只有输入相同的明文数据经过相同的消息摘要算法才能得到相同的密文。因此,即使被他人获取到了摘要串,也无法破解出二维码原始内容数据,从而无法对二维码原始内容数据做篡改,保证了二维码的信息安全性,同时保证了目标用户的隐私安全。
步骤S30,采用所述目标用户对应的私钥对所述摘要串进行加密得到二维码加密内容数据;
步骤S40,根据所述二维码加密内容数据生成二维码。
在生成摘要串后,用户端采用目标用户对应的私钥对摘要串进行加密,得到二维码加密内容数据。其中采用私钥对数据进行加密的方法可采用常用的私钥加密算法,在此不进行详细赘述。采用私钥对摘要串进行加密后得到的二维码加密内容数据必须得采用对应的公钥才能够解密,而公钥一般不会公之于众,从而增加了对二维码信息篡改的难度。
用户端根据二维码加密内容数据生成二维码。具体地,用户端可将二维码加密内容数据作为二维码所携带的内容数据,按照二维码生成规则,生成二维码。其中,二维码生成规则可以是常用的二维码码制所对应的规则,在此不进行详细赘述。用户端在生成二维码后,可显示该二维码。
在本实施例中,通过将目标用户的二维码申请信息上传至服务器,以供所述服务器根据所述二维码申请信息反馈二维码原始内容数据;并采用预设信息摘要算法生成二维码原始内容数据的摘要串,以对数据进行一重加密;再采用私钥对摘要串进行加密,以对数据进行二重加密,再将加密结果生成二维码。双重加密的方式增加了对二维码中所携带信息的篡改难度,从而避免了不法分子通过篡改二维码信息获得不法利益,提高了二维码的安全性。并且,通过信息摘要算法生成二维码原始内容数据的摘要串后,根据摘要串无法解密得到二维码原始内容数据,从而避免了二维码原始内容数据中所携带的用户敏感信息泄露,保证了用户的隐私安全。
进一步地,基于上述第一实施例,提出本发明二维码生成方法第二实施例,在本实施例中,所述二维码申请信息包括所述目标用户的用户标识、健康信息和与所述私钥对应的公钥,所述步骤S10包括:
步骤S101,将所述二维码申请信息上传至服务器,以供所述服务器根据所述健康信息生成所述目标用户的健康风险等级,将所述健康风险等级与所述用户标识和所述公钥进行绑定,并将所述健康风险等级作为二维码原始内容数据返回。
当申请的二维码是健康码时,二维码申请信息可包括目标用户的用户标识、健康信息和与目标用户的私钥对应的公钥。其中,健康信息可以是用户的体检报告、健康证明信息等有关健康的信息,用于评价用户的健康风险。用户端接收服务器反馈的该二维码原始内容数据。
用户端将目标用户的二维码申请信息上传至服务器。服务器根据健康信息生成目标用户的健康风险等级,并将健康风险等级与用户标识和用户公钥进行绑定,再将健康风险等级作为二维码原始内容数据返回给用户端。
其中,服务器根据健康信息生成健康风险等级的方式有多种,具体可以根据需要进行设置。在一实施方式中,健康信息可以是包括目标用户的历史时空轨迹信息。历史时空轨迹信息可包括用户历史一段时间内所经过的地方的坐标信息。历史时空轨迹信息可由用户端平时根据定位信息进行记录得到。服务器中记录已公布的疫情风险信息,疫情风险信息可包括疫情发生地区和感染者接触过的地区的坐标范围,服务器可将用户端上传的历史时空轨迹信息与疫情风险信息进行匹配,根据其匹配程度得到一个健康风险等级。
在本实施例中,通过将用户的健康信息上传服务器,由服务器生成用户的健康风险等级并返回,使得用户的健康码具有官方权威性。并且,用户端在上传健康信息时,将用户标识和公钥一起上传,使得服务器能够将用户的健康风险等级、健康信息、用户标识和公钥一起绑定存储,保证用户信息的一致性,从而在采用服务器对用户端中的二维码进行验证时,能够排查到对其中任一信息的篡改,从而提高了二维码的安全性。且用户端中对用户的健康风险等级进行了二重加密,保证了用户的健康等级这一敏感信息不会随意泄露给他人。
进一步地,所述步骤S20包括:
步骤S201,采用预设信息摘要算法生成所述二维码原始内容数据、所述健康信息和所述用户标识的摘要串。
当二维码是健康码时,用户端可以是对目标用户的用户标识、从服务器获取到的健康风险等级(二维码原始内容数据)和用户健康信息生成摘要串,再对摘要串进行私钥加密。那么,当需要对二维码进行验证时,可采用扫描设备扫描二维码获得用户标识和二维码中的携带信息,扫描设备将用户标识和携带信息上传服务器;服务器根据用户标识匹配对应的公钥、用户健康信息和二维码原始内容数据,采用公钥对携带信息进行解密得到解密结果,采用预设信息摘要算法生成用户标识、二维码原始内容数据和用户健康信息的摘要串;比对解密结果和摘要串是否相同,如果相同,则验证结果为成功,如果不相同,则说明扫描设备扫描的二维码是伪造的,验证不成功。从而实现了伪造私钥和篡改用户标识、健康信息和健康等级中任一信息时,都会验证失败,从而进一步增加了二维码的安全性。
进一步地,服务器可将验证结果返回给扫描设备,扫描设备输出该验证结果,具体可以是在扫描设备的显示屏中显示该验证结果,或以语音、震动、提示音或亮灯等方式输出该验证结果。
进一步地,基于上述第一和/或第二实施例,提出本发明二维码生成方法第三实施例,在本实施例中,当所述二维码是健康码时,所述步骤S40之后,还包括:
步骤S50,在刷新所述健康码的各帧画面时,对各帧画面对应的目标区域做预设动态处理,以动态显示所述健康码。
在用户端生成健康码后,可对健康码进行显示。在本实施例中显示健康码是一帧一帧画面刷新显示的。可以理解的是,目前的静态二维码在显示时每一帧显示的二维码都是相同的,也可以说是不会刷新画面的,而在本实施例中,各帧画面是不同的,从而形成动态二维码。
具体地,各帧画面分别对应目标区域,目标区域可以是健康码中的部分区域。可以理解的是,健康码对应一个图形区域,如矩形的二维码对应的是一个矩形区域;目标区域可以是该图形区域中的一部分区域。各帧画面对应的目标区域可以是相同的,也可以是不同的,一帧画面中目标区域可以只有一个,也可以有多个。各帧画像对应的目标区域可以是在显示该二维码之前确定,也即,提前确定各帧画面对应的目标区域;也可以是在显示健康码时,实时确定刷新时刻对应的目标区域,也即,实时确定当前帧画面对应的目标区域。确定目标区域即指确定健康码中哪一部分区域作为目标区域。
当目标区域在健康码的数据区域时,目标区域的面积可以小于二维码的容错面积,以避免目标区域影响健康码的内容识别。其中容错面积即当二维码上小于容错面积的区域被遮挡时不会影响对二维码的内容识别。
可以按照预先设置的规则确定目标区域。具体地,可预先设置健康码整个区域内可作为目标区域的多个待选区域;可以理解的是,二维码中部分区域是不能做更改的,否则可能会影响二维码的识别,故当健康码在显示后需要被其他设备扫描并识别时,待选区域应不包括这些不能做更改的区域;可按照预先设置的规则,从各待选区域中选取一个或多个作为目标区域。例如,预先确定N个待选区域,在显示健康码之前,可以从N个待选区域中随机选取M个,分别作为M帧画面对应的目标区域,在显示健康码时,对每帧画面中的目标区域做预设动态处理。
预设动态处理可以是预先设置的处理方式,根据具体需要可设置不同的动态处理方式。例如,当各帧画面的目标区域相同时,动态处理可以是以一定频率对目标区域置空或设置为其他颜色(黑色和白色外的颜色);当各帧画面的目标区域不都相同时,动态处理可以是在显示该帧画面时,对该帧画面对应的目标区域置空或设置为其他颜色。其中,置空即将该区域设置为空白。
在本实施例中,在刷新所述健康码的各帧画面时,对各帧画面对应的目标区域预设动态处理,也即,相比于现有静态的二维码,本实施例中在刷新健康码的各帧画面时,各帧画面中健康码的部分区域是动态区域,连续刷新多帧画面形成动态的健康码,进而使得健康码的查验人员在不借助扫描设备的情况下,通过肉眼观察健康码,若不存在动态区域,即可直接判定健康码是伪造,从而降低了健康码的查验成本,在查验人员需要查验大量健康码的情况下,极大地提高了健康码的查验速度;并且,当采用截图、翻摄和修图手段来伪造健康码时,由于得到的是静态的健康码而不是存在动态区域的动态健康码,从而无法伪造成功,进而提高了健康码的伪造难度,也就提高了健康码的安全性。
进一步地,所述步骤S50包括:
步骤S501,基于刷新所述健康码的帧画面的刷新时刻和/或所述健康码中的携带信息,从所述健康码的多个待选区域中确定所述帧画面对应的目标区域,并在刷新所述健康码的各帧画面时,对各帧画面对应的目标区域做预设动态处理。
在一实施方式中,确定健康码中目标区域的方式可以是:基于刷新健康码的帧画面的刷新时刻从健康码的多个待选区域中确定该帧画面对应的目标区域。其中,刷新健康码的帧画面的刷新时刻即设备刷新该帧画面时从设备时钟中读取到的时刻值,具体读取到哪一时间刻度可根据需要设置,例如,可只读秒,也可以是读分和秒。预先可设置显示健康码时的刷新帧率。例如,当每秒刷新一帧,刷新时刻只读秒时,在t秒刷新第一帧,则根据t确定第一帧对应的目标区域,并对该目标区域做动态处理,在t+1秒刷新第二帧,则根据t+1确定第二帧对应的目标区域,并对该目标区域做动态处理,以此类推。
根据刷新时刻来从待选区域中确定目标区域的方式可以有多种。例如,预先在健康码中设置多个待选区域,这些待选区域有对应的标识,如采用待选区域中一像素点的坐标值作为该待选区域的标识,或对各个待选区域进行编号,将序号作为标识;采用预设的映射算法,将刷新时刻映射到一个区域标识,将该区域标识对应的待选区域作为该刷新时刻对应的目标区域。映射算法可采用自定义的算法,或现有的映射算法,在此不进行详细赘述。
通过根据刷新健康码帧画面时的刷新时刻实时确定帧画面健康码中的目标区域,使得健康码中的动态区域具有实时性,即同一健康码在不同时刻显示时,其动态区域是不同的。那么,要伪造健康码就需要知道健康码中目标区域的确定规则,而这个规则是显示健康码的设备中才有的,伪造者难以获得,从而增加了健康码的伪造难度。
在另一实施方式中,确定健康码中目标区域的方式可以是:基于健康码中的携带信息从健康码的多个待选区域中确定目标区域。其中,携带信息是指健康码中携带的数据信息,若健康码是存储在本地或从其他端获取到的,则可对健康码进行识别得到携带信息。根据携带信息从各待选区域中确定目标区域的方式也可以有很多种。例如,同样可设置各个待选区域,以及待选区域的区域标识,要确定N帧画面中每帧画面对应的目标区域,则可采用预设的映射算法,将携带信息映射到N个区域标识,将这N个区域标识对应的待选区域分别作为各帧画面的目标区域。
通过健康码中的携带信息来确定健康码中的目标区域,使得当健康码中的携带信息不同时,其目标区域是不同的,从而当伪造者对健康码中的携带信息进行篡改时,也能够通过目标区域的位置判定其是伪造的,从而增加健康码的伪造难度。同样地,要伪造健康码,也需要知道根据携带信息确定目标区域的规则,而这个规则是显示健康码的设备中才有的,伪造者难以获得。
在另一实施方式中,结合上述两种实施方式,可基于刷新健康码帧画面的刷新时刻和携带信息从健康码的多个待选区域中确定目标区域。具体地,可采用预设的映射算法,将刷新时刻和携带信息映射到一个区域标识,将该区域标识对应的待选区域作为该刷新时刻对应的目标区域。
进一步地,在一实施方式中,在一实施方式中,基于刷新所述健康码的帧画面的刷新时刻和所述健康码中的携带信息,从所述健康码的多个待选区域中确定所述帧画面对应的目标区域的步骤包括:基于预设映射算法将刷新所述健康码的帧画面的刷新时刻和所述健康码中的携带信息映射到目标序号,其中,所述目标序号是所述健康码中多个待选区域对应的区域序号中的一个;将所述目标序号对应的待选区域作为所述帧画面对应的目标区域。
具体地,当基于刷新健康码的帧画面的刷新时刻和健康码中的携带信息确定该帧画面对应的目标区域时,可以预先设置多个待选区域,并对多个待选区域进行数字编号,得到各个待选区域对应的区域序号。基于预设映射算法将刷新时刻和携带信息映射到一个目标序号,这个目标序号是各个待选区域对应的区域序号中的一个。将目标序号对应的待选区域作为该帧画面对应的目标区域。预设映射算法可以是预先设置的映射算法,该映射算法可实现将任意数值映射到目标数值区间内。
也即,根据映射算法,不同的刷新时刻或不同的携带信息进行映射得到的序号是不同的,那么由于每一帧的刷新时刻是不同的,所以得到的目标序号也是不同的,从而各帧画面对应的目标区域是不同的,且目标区域的位置与刷新该帧画面的时刻相关,从而使得显示出的动态健康码中的动态区域是与时间相关的,具有实时性。那么,要伪造健康码就需要知道健康码中目标区域的确定规则,而这个规则是显示健康码的设备中才有的,伪造者难以获得,从而增加了健康码的伪造难度。
进一步地,在一实施方式中,上述基于预设映射算法将刷新所述健康码的帧画面的刷新时刻和所述健康码中的携带信息映射到目标序号的步骤包括:
获取种子信息,其中,所述种子信息至少包括刷新所述健康码的帧画面的刷新时刻;
按照预设哈希算法基于所述种子信息将所述携带信息映射到预设数量的时间桶得到映射值,将所述映射值作为目标序号,其中,所述预设数量为所述健康码中待选区域的数量,且各待选区域的面积均小于所述健康码的容错面积。
具体地,预设映射算法可以是预设哈希算法,哈希算法可以是采用现有哈希算法中的一种。先获取种子信息。其中,种子信息可以至少包括刷新健康码的帧画面的刷新时刻。刷新时刻在上述实施例中已作出解释,在此不再赘述。种子信息还可包括刷新时刻外的其他信息,例如,种子信息中还可包括用户标识信息。
在获取到种子信息后,按照预设哈希算法基于该种子信息将携带信息映射到预设数量的时间桶得到映射值,将映射值作为目标序号。预设数量为时间桶的数量,也为健康码中待选区域的数量,那么各个待选区域的区域序号是按照0至预设数量编号的。按照哈希算法基于种子信息将携带信息映射到预设数量的时间桶具体是指:当待选区域的数量为M个时,预设数量为M,按照哈希算法,基于种子信息和携带信息进行计算得到一个映射值,这个映射值是在0~M之间的一个值,也即映射到预设数量为M的时间桶。当种子信息改变时,得到的映射值是不同的。各个待选区域的区域面积均小于健康码的容错面积。
进一步地,如图3所示,可将二维码的中间区域划分为N*N个待选区域,每个待选区域的面积小于二维码的容错面积。那么,预设数量设置为N*N。需要说明的是,图3只是给出了一种待选区域的划分示例,具体实施时可按照需要划分出不同样式和位置的待选区域。
在本实施例中,通过将刷新健康码的刷新时刻做为种子,按照哈希算法将健康码中的携带信息映射到预设数量的时间桶,得到映射值,将映射值作为目标序号,将目标序号对应的待选区域作为该帧画面对应的目标区域。由于映射值是以刷新时刻为种子计算得到的,使得目标区域具备实时性,增加了健康码伪造难度。又由于将健康码中的携带信息进行映射,使得当健康码中的携带信息被篡改时,无法得到同样的目标区域,从而增加了健康码伪造难度。即使伪造者知道了是根据健康码的携带信息和刷新时刻来确定目标区域,其也难以获知设备中采用的是哪一种哈希算法,故进一步增加了健康码伪造难度。
在一实施方式中,对目标区域的预设动态处理可以是在刷新健康码的各帧画面时,将各帧画面对应的目标区域置空。也即,在每刷新一帧画面时,预先或实时确定了该帧画面对应的目标区域,则将该目标区域置空,置空即将该区域置为空白。当健康码中的待选区域按照如图3所示进行划分时,在显示健康码时,每一帧画面会出现至少一个小格子是空白的,那么多帧画面连续刷新时,就会形成有跳动的小白格的动态健康码。
进一步地,在一实施方式中,当用户端对健康码按照刷新时刻从待选区域中确定目标区域,并在显示健康码时对目标区域做预设动态处理时,对用户端中显示的健康码可采用如下方式进行验证:
用户端是一帧一帧画面刷新的方式显示健康码的,扫描设备也是一帧一帧读取用户端显示的健康码,扫描设备中的读取频率与用户端的刷新频率一致。用户端每刷新一帧,就按照刷新时刻确定该帧画面健康码中的目标区域,并对目标区域做动态处理。对应地,扫描设备每读取一帧画面,就从该帧画面中识别出做了动态处理的区域,将该区域作为第一目标区域,并记录读取该帧画面的时刻,也即扫描时刻。扫描设备根据扫描时刻从健康码中的待选区域中确定目标区域,将其记为第二目标区域,需要说明的是,扫描设备中根据扫描时刻从健康码的待选区域中确定目标区域的方式,与用户端中根据刷新时刻从健康码的待选区域中确定目标区域的方式相同。对于每一帧画面,扫描设备比对该帧画面对应的第一目标区域与第二目标区域的位置,根据比对结果得到健康码验证结果。具体地,若超过N帧画面的比对结果不一致,即确定健康码验证失败,否则,健康码验证成功。其中,N可以根据需要进行设置,当验证要求较严格时,N可以设置得较小。扫描设备可以是现有任意具备健康码扫描功能的设备,在此不作限定。
可以理解的是,当用户端中显示的健康码是正常的健康码时,由于扫描设备按照扫描时刻确定目标区域,用户端按照刷新时刻确定目标区域,扫描时刻与刷新时刻是对应相同的,第一目标区域与第二目标区域的位置也应该是相同的。当用户端中显示的健康码是采用其他方法伪造的动态目标区域时,虽然肉眼可能无法观察出健康码的目标区域有什么不同,但是扫描设备通过比对第一目标区域和第二目标区域的位置,即可确定健康码是否为伪造。并且,扫描设备只需要对目标区域的位置进行验证即可,无需从服务器中获取健康码的内容信息进行比对,从而降低了验证的成本,提高了验证效率。
在另一实施方式中,当用户端对健康码按照健康码中的携带信息从待选区域中确定各帧画面对应目标区域,并在刷新各帧画面时对目标区域做预设动态处理时,对用户端中显示的健康码可采用如下方式进行验证:
用户端是一帧一帧画面刷新的方式显示健康码的,扫描设备也是一帧一帧读取用户端显示的健康码,扫描设备中的读取频率与用户端的刷新频率一致。用户端预先或实时地根据健康码中的携带信息从待选区域中确定了目标区域,并对目标区域做了预设动态处理。对应地,扫描设备每读取一帧画面,就从该帧画面中识别出做了动态处理的区域,将该区域作为第一目标区域,从而得到各帧画面对应的第一目标区域。同时扫描设备可以对读取到的其中一帧画面的健康码进行识别,得到健康码的携带信息,并根据携带信息从健康码的待选区域中确定各帧画面对应的目标区域,并记为第二目标区域。需要说明的是,扫描设备中根据携带信息从健康码的待选区域中确定目标区域的方式,与用户端中根据携带信息从健康码的待选区域中确定目标区域的方式相同。可以理解的是,由于扫描设备不一定扫描到了用户端显示的第一帧画面,故扫描设备可将第一目标区域组成的第一序列与第二目标区域组成的第二序列进行整体比对,根据比对结果得到健康码验证结果。具体地,扫描设备可检测第一序列中是否存在一个连续子序列,与第二序列中的一个连续子序列完全匹配,若存在,且这个连续子序列的长度大于预设长度,即确定健康码验证成功,否则,健康码验证失败。其中,预设长度可根据需要进行设置,当验证要求较严格时,预设长度可以设置得较大。扫描设备可以是现有任意具备健康码扫描功能的设备,在此不作限定。
可以理解的是,当用户端中显示的健康码是正常的健康码时,由于扫描设备按照健康码携带信息确定目标区域,与用户端确定目标区域的方式相同,故第一目标区域与第二目标区域的位置也应该是相同的。当用户端中显示的健康码是采用其他方法伪造的动态目标区域时,虽然肉眼可能无法观察出健康码的目标区域有什么不同,但是扫描设备通过比对第一目标区域和第二目标区域的位置,即可确定健康码是否为伪造。并且,扫描设备只需要对目标区域的位置进行验证即可,无需从服务器中获取健康码的内容信息进行比对,从而降低了验证的成本,提高了验证效率。
在另一实施方式中,当用户端对健康码按照刷新时刻和健康码中的携带信息从待选区域中确定目标区域,并在显示健康码时对目标区域做预设动态处理时,对用户端中显示的健康码可采用如下方式进行验证:
用户端是一帧一帧画面刷新的方式显示健康码的,扫描设备也是一帧一帧读取用户端显示的健康码,扫描设备中的读取频率与用户端的刷新频率一致。用户端每刷新一帧,就按照刷新时刻确定该帧画面健康码中的目标区域,并对目标区域做动态处理。对应地,扫描设备可以对读取到的其中一帧画面的健康码进行识别,得到健康码的携带信息。并,扫描设备每读取一帧画面,就从该帧画面中识别出做了动态处理的区域,将该区域作为第一目标区域,并记录读取该帧画面的时刻,也即扫描时刻。扫描设备根据读取该帧画面的时刻(扫描时刻)和携带信息从健康码中的待选区域中确定目标区域,将其记为第二目标区域,需要说明的是,扫描设备中根据扫描时刻和携带信息从健康码的待选区域中确定目标区域的方式,与用户端中根据刷新时刻和携带信息从健康码的待选区域中确定目标区域的方式相同。对于每一帧画面,扫描设备比对该帧画面对应的第一目标区域与第二目标区域的位置,根据比对结果得到健康码验证结果。具体地,若超过N帧画面的比对结果不一致,即确定健康码验证失败,否则,健康码验证成功。其中,N可以根据需要进行设置,当验证要求较严格时,N可以设置得较小。扫描设备可以是现有任意具备健康码扫描功能的设备,在此不作限定。
可以理解的是,当用户端中显示的健康码是正常的健康码时,由于扫描设备按照扫描时刻确定目标区域,用户端按照刷新时刻确定目标区域,扫描时刻与刷新时刻是对应相同的,第一目标区域与第二目标区域的位置也应该是相同的。当用户端中显示的健康码是采用其他方法伪造的动态目标区域时,虽然肉眼可能无法观察出健康码的目标区域有什么不同,但是扫描设备通过比对第一目标区域和第二目标区域的位置,即可确定健康码是否为伪造。并且,扫描设备只需要对目标区域的位置进行验证即可,无需从服务器中获取健康码的内容信息进行比对,从而降低了验证的成本,提高了验证效率。
进一步地,扫描设备可输出该验证结果,输出方式可以是在扫描设备的显示屏中显示文字形式的验证结果,还可以是以语音、震动、提示音或亮灯等方式输出该验证结果。
进一步地,基于上述第一、第二和/或第三实施例,提出本发明二维码验证方法第四实施例。在本实施例中,所述二维码验证方法应用于服务器,所述方法包括以下步骤:
步骤A10,接收扫描设备上传的用户标识和二维码加密内容数据,其中,所述用户标识和二维码加密内容数据是所述扫描设备扫描用户端中显示的二维码获取到的;
用户端将目标用户的二维码申请信息上传至服务器。服务器根据二维码申请信息中的健康信息生成目标用户的健康风险等级,并将健康风险等级与二维码申请信息中的用户标识、用户公钥和用户健康信息一起绑定,存储在数据库中,并将健康风险等级作为二维码原始内容数据返回给用户端。用户端采用预设信息摘要算法生成二维原始内容数据的摘要串,再采用用户私钥对摘要串进行加密,得到二维码加密内容数据,并根据二维码加密内容数据生成二维码。用户端显示该二维码,供扫描设备扫描。
扫描设备扫描用户端中的二维码,获得用户标识和二维码中携带的二维码加密内容数据。扫描设备将用户标识和二维码加密内容数据上传至服务器。服务器接收用户标识和二维码加密内容数据。
步骤A20,从数据库中匹配得到与所述用户标识绑定的公钥和二维码原始内容数据;
步骤A30,采用所述公钥对所述二维码加密内容数据进行解密得到解密数据;
步骤A40,采用预设信息摘要算法生成所述二维码原始内容数据的摘要串,并比对所述摘要串和所述解密数据,根据比对结果得到二维码验证结果。
服务器从数据库中匹配得到与该用户标识绑定的公钥和二维码原始内容数据。服务器采用匹配到的该公钥对二维码加密内容数据进行解密,得到解密数据,并采用预设信息摘要算法生成二维码原始内容数据的摘要串。服务器比对摘要串与解密数据,根据比对结果得到二维码验证结果。
进一步地,所述步骤A40中比对所述摘要串和所述解密数据,根据比对结果得到二维码验证结果的步骤包括:
步骤A401,比对所述摘要串和所述解密数据是否一致;
步骤A402,当所述摘要串和所述解密数据一致时,得到验证成功的二维码验证结果;
步骤A403,当所述摘要串和所述解密数据不一致时,得到验证失败的二维码验证结果;
服务端比对摘要串和解密数据是否一致,也即两者是否相同。若摘要串与解密数据一致,则得到验证成功的二维码验证结果,若摘要串与界面数据不一致,则得到验证失败的二维码验证结果。
所述步骤A40之后,还包括:
步骤A50,将所述二维码验证结果发送给所述扫描设备,以供所述扫描设备输出所述二维码验证结果。
服务端可将得到的二维码验证结果发送给扫描设备,扫描设备在接收到二维码验证结果后,可输出该验证结果,输出方式可以是在扫描设备的显示屏中显示文字形式的验证结果,还可以是以语音、震动、提示音或亮灯等方式输出该验证结果。
此外本发明实施例还提出一种二维码生成装置,所述装置部署于用户端,所述装置包括:
上传模块,用于将目标用户的二维码申请信息上传至服务器,以供所述服务器根据所述二维码申请信息反馈二维码原始内容数据;
第一生成模块,用于采用预设信息摘要算法生成所述二维码原始内容数据的摘要串;
加密模块,用于采用所述目标用户对应的私钥对所述摘要串进行加密得到二维码加密内容数据;
第二生成模块,用于根据所述二维码加密内容数据生成二维码。
进一步地,所述二维码申请信息包括所述目标用户的用户标识、健康信息和与所述私钥对应的公钥,
所述上传模块包括还用于将所述二维码申请信息上传至服务器,以供所述服务器根据所述健康信息生成所述目标用户的健康风险等级,将所述健康风险等级与所述用户标识和所述公钥进行绑定,并将所述健康风险等级作为二维码原始内容数据返回。
进一步地,所述第一生成模块还用于:
采用预设信息摘要算法生成所述二维码原始内容数据、所述健康信息和所述用户标识的摘要串。
进一步地,所述装置还包括:
验证模块,用于当检测到所述目标用户对应的身份验证指令时,对所述目标用户进行身份验证;
第三生成模块,用于当检测到身份验证成功后,获取所述目标用户的用户标识并根据所述用户标识生成所述目标用户的私钥和公钥。
进一步地,当所述二维码为健康码时,所述装置还包括:
显示模块,用于在刷新所述健康码的各帧画面时,对各帧画面对应的目标区域做预设动态处理,以动态显示所述健康码。
进一步地,所述显示模块还用于:
基于刷新所述健康码的帧画面的刷新时刻和/或所述健康码中的携带信息,从所述健康码的多个待选区域中确定所述帧画面对应的目标区域,并在刷新所述健康码的各帧画面时,对各帧画面对应的目标区域做预设动态处理。
本发明二维码生成装置的具体实施方式的拓展内容与上述二维码生成方法各实施例基本相同,在此不做赘述。
此外本发明实施例还提出一种二维码验证装置,所述装置部署于服务器,所述装置包括:
接收模块,用于接收扫描设备上传的用户标识和二维码加密内容数据,其中,所述用户标识和二维码加密内容数据是所述扫描设备扫描用户端中显示的二维码获取到的;
匹配模块,用于从数据库中匹配得到与所述用户标识绑定的公钥和二维码原始内容数据;
解密模块,用于采用所述公钥对所述二维码加密内容数据进行解密得到解密数据;
比对模块,用于采用预设信息摘要算法生成所述二维码原始内容数据的摘要串,并比对所述摘要串和所述解密数据,根据比对结果得到二维码验证结果。
进一步地,所述比对模块包括:
比对单元,用于比对所述摘要串和所述解密数据是否一致;
判定单元,用于当所述摘要串和所述解密数据一致时,得到验证成功的二维码验证结果;当所述摘要串和所述解密数据不一致时,得到验证失败的二维码验证结果;
所述装置还包括:
发送模块,用于将所述二维码验证结果发送给所述扫描设备,以供所述扫描设备输出所述二维码验证结果。
本发明二维码验证装置的具体实施方式的拓展内容与上述二维码验证方法各实施例基本相同,在此不做赘述。
此外,本发明实施例还提出一种计算机可读存储介质,所述存储介质上存储有二维码生成程序,所述二维码生成程序被处理器执行时实现如下所述的二维码生成方法的步骤。
本发明二维码生成设备和计算机可读存储介质的各实施例,均可参照本发明二维码生成方法各实施例,此处不再赘述。
此外,本发明实施例还提供一种计算机可读存储介质,所述存储介质上存储有二维码验证程序,所述二维码验证程序被处理器执行时实现如下所述的二维码验证方法的步骤。
本发明二维码验证设备和计算机可读存储介质的各实施例,均可参照本发明二维码验证方法各实施例,此处不再赘述。
需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者装置不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者装置所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、方法、物品或者装置中还存在另外的相同要素。
上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,空调器,或者网络设备等)执行本发明各实施例所述的方法。
以上仅为本发明的优选实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围内。
Claims (12)
1.一种二维码生成方法,其特征在于,所述方法应用于用户端,所述方法包括以下步骤:
将目标用户的二维码申请信息上传至服务器,以供所述服务器生成所述二维码申请信息对应的二维码原始内容数据并返回,并将所述二维码原始内容数据与所述二维码申请信息中的用户标识和公钥进行绑定;
在从所述服务器获取到所述二维码原始内容数据后,采用预设信息摘要算法生成所述二维码原始内容数据的摘要串;
采用所述目标用户对应的私钥对所述摘要串进行加密得到二维码加密内容数据;
根据所述二维码加密内容数据生成二维码,以供扫描设备扫描所述二维码得到所述用户标识和二维码加密内容数据并上传至服务器,并由服务器从数据库中匹配得到与所述用户标识绑定的公钥和二维码原始内容数据,以及采用所述公钥对所述二维码加密内容数据进行解密得到解密数据,再采用预设信息摘要算法生成所述二维码原始内容数据的摘要串,并比对所述摘要串和所述解密数据,根据比对结果得到二维码验证结果。
2.如权利要求1所述的二维码生成方法,其特征在于,所述二维码申请信息包括所述目标用户的用户标识、健康信息和与所述私钥对应的公钥,
所述将所述目标用户的二维码申请信息上传至服务器,以供所述服务器根据所述二维码申请信息反馈二维码原始内容数据的步骤包括:
将所述二维码申请信息上传至服务器,以供所述服务器根据所述健康信息生成所述目标用户的健康风险等级,将所述健康风险等级与所述用户标识和所述公钥进行绑定,并将所述健康风险等级作为二维码原始内容数据返回。
3.如权利要求2所述的二维码生成方法,其特征在于,所述健康信息包括所述目标用户的历史时空轨迹信息,所述采用预设信息摘要算法生成所述二维码原始内容数据的摘要串的步骤包括:
采用预设信息摘要算法生成所述二维码原始内容数据、所述健康信息和所述用户标识的摘要串。
4.如权利要求1所述的二维码生成方法,其特征在于,所述将目标用户的二维码申请信息上传至服务器,以供所述服务器根据所述二维码申请信息反馈二维码原始内容数据的步骤之前,还包括:
当检测到所述目标用户对应的身份验证指令时,对所述目标用户进行身份验证;
当检测到身份验证成功后,获取所述目标用户的用户标识并根据所述用户标识生成所述目标用户的私钥和公钥。
5.如权利要求1至4中任一项所述的二维码生成方法,其特征在于,当所述二维码为健康码时,所述根据所述二维码加密内容数据生成二维码的步骤之后,还包括:
在刷新所述健康码的各帧画面时,对各帧画面对应的目标区域做预设动态处理,以动态显示所述健康码。
6.如权利要求5所述的二维码生成方法,其特征在于,所述在刷新所述健康码的各帧画面时,对各帧画面对应的目标区域做预设动态处理的步骤包括:
基于刷新所述健康码的帧画面的刷新时刻和/或所述健康码中的携带信息,从所述健康码的多个待选区域中确定所述帧画面对应的目标区域,并在刷新所述健康码的各帧画面时,对各帧画面对应的目标区域做预设动态处理。
7.一种二维码验证方法,其特征在于,所述方法应用于服务器,所述方法包括以下步骤:
接收用户端上传的目标用户的二维码申请信息,生成所述二维码申请信息对应的二维码原始内容数据并返回给所述用户端,以供所述用户端在从所述服务器获取到所述二维码原始内容数据后,采用预设信息摘要算法生成所述二维码原始内容数据的摘要串,再采用所述目标用户对应的私钥对所述摘要串进行加密得到二维码加密内容数据,再根据所述二维码加密内容数据生成二维码;
将所述二维码原始内容数据与所述二维码申请信息中的用户标识和公钥进行绑定;
接收扫描设备上传的用户标识和二维码加密内容数据,其中,所述用户标识和二维码加密内容数据是所述扫描设备扫描所述用户端中显示的所述二维码获取到的;
从数据库中匹配得到与所述用户标识绑定的公钥和二维码原始内容数据;
采用所述公钥对所述二维码加密内容数据进行解密得到解密数据;
采用预设信息摘要算法生成所述二维码原始内容数据的摘要串,并比对所述摘要串和所述解密数据,根据比对结果得到二维码验证结果。
8.如权利要求7所述的二维码生成方法,其特征在于,所述比对所述摘要串和所述解密数据,根据比对结果得到二维码验证结果的步骤包括:
比对所述摘要串和所述解密数据是否一致;
当所述摘要串和所述解密数据一致时,得到验证成功的二维码验证结果;
当所述摘要串和所述解密数据不一致时,得到验证失败的二维码验证结果;
所述比对所述摘要串和所述解密数据,根据比对结果得到二维码验证结果的步骤之后,还包括:
将所述二维码验证结果发送给所述扫描设备,以供所述扫描设备输出所述二维码验证结果。
9.一种二维码生成设备,其特征在于,所述二维码生成设备包括:存储器、处理器及存储在所述存储器上并可在所述处理器上运行的二维码生成程序,所述二维码生成程序被所述处理器执行时实现如权利要求1至6中任一项所述的二维码生成方法的步骤。
10.一种二维码验证设备,其特征在于,所述二维码验证设备包括:存储器、处理器及存储在所述存储器上并可在所述处理器上运行的二维码验证程序,所述二维码验证程序被所述处理器执行时实现如权利要求7至8任一项所述的二维码验证方法的步骤。
11.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有二维码生成程序,所述二维码生成程序被处理器执行时实现如权利要求1至6中任一项所述的二维码生成方法的步骤。
12.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有二维码验证程序,所述二维码验证程序被处理器执行时实现如权利要求7至8任一项所述的二维码验证方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010754292.3A CN111860727B (zh) | 2020-07-30 | 2020-07-30 | 二维码生成方法、验证方法、设备及计算机可读存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010754292.3A CN111860727B (zh) | 2020-07-30 | 2020-07-30 | 二维码生成方法、验证方法、设备及计算机可读存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111860727A CN111860727A (zh) | 2020-10-30 |
CN111860727B true CN111860727B (zh) | 2023-06-20 |
Family
ID=72945516
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010754292.3A Active CN111860727B (zh) | 2020-07-30 | 2020-07-30 | 二维码生成方法、验证方法、设备及计算机可读存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111860727B (zh) |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112418881A (zh) * | 2020-11-07 | 2021-02-26 | 许尧龙 | 一种二维码认证打码方法及溯源*** |
CN112565254B (zh) * | 2020-12-04 | 2023-03-31 | 深圳前海微众银行股份有限公司 | 数据传输方法、装置、设备与计算机可读存储介质 |
CN112529586B (zh) * | 2020-12-15 | 2023-07-28 | 深圳市快付通金融网络科技服务有限公司 | 交易信息管理方法、装置、设备及存储介质 |
CN114040411B (zh) * | 2021-11-02 | 2023-10-10 | 珠海格力电器股份有限公司 | 一种设备绑定方法、装置、电子设备及存储介质 |
CN114978659A (zh) * | 2022-05-17 | 2022-08-30 | 中国银行股份有限公司 | 长效二维码的实现方法及相关装置 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103281340A (zh) * | 2013-06-26 | 2013-09-04 | 百度在线网络技术(北京)有限公司 | 二维码验证方法、***、客户端、发布及云端服务器 |
CN107579817A (zh) * | 2017-09-12 | 2018-01-12 | 广州广电运通金融电子股份有限公司 | 基于区块链的用户身份验证方法、装置及*** |
CN109409472A (zh) * | 2018-08-24 | 2019-03-01 | 阿里巴巴集团控股有限公司 | 二维码生成方法、数据处理方法、装置及服务器 |
CN109600223A (zh) * | 2017-09-30 | 2019-04-09 | 腾讯科技(深圳)有限公司 | 验证方法、激活方法、装置、设备及存储介质 |
Family Cites Families (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20080276309A1 (en) * | 2006-07-06 | 2008-11-06 | Edelman Lance F | System and Method for Securing Software Applications |
CN101377837A (zh) * | 2007-08-29 | 2009-03-04 | 北京方维银通科技有限公司 | 电子支票二维码凭证的生成及验证方法 |
CN104077624A (zh) * | 2013-03-26 | 2014-10-01 | ***股份有限公司 | 带防伪二维码的电子票据的生成方法、校验方法及其*** |
CN106599964A (zh) * | 2016-11-24 | 2017-04-26 | ***股份有限公司 | 一种二维码生成、验证方法及装置 |
CN108256863A (zh) * | 2018-01-26 | 2018-07-06 | 鼎讯网络安全技术有限公司 | 基于se的二维码生成、存储、识别和相关加解密的方法 |
CN110390375B (zh) * | 2018-04-17 | 2022-12-13 | 银河联动信息技术(北京)有限公司 | 动态二维码与标识的合成***以及方法、动态二维码显示装置 |
CN111464951B (zh) * | 2020-03-31 | 2024-01-23 | 深圳前海微众银行股份有限公司 | 疫情防控方法、装置、设备及计算机可读存储介质 |
-
2020
- 2020-07-30 CN CN202010754292.3A patent/CN111860727B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103281340A (zh) * | 2013-06-26 | 2013-09-04 | 百度在线网络技术(北京)有限公司 | 二维码验证方法、***、客户端、发布及云端服务器 |
CN107579817A (zh) * | 2017-09-12 | 2018-01-12 | 广州广电运通金融电子股份有限公司 | 基于区块链的用户身份验证方法、装置及*** |
CN109600223A (zh) * | 2017-09-30 | 2019-04-09 | 腾讯科技(深圳)有限公司 | 验证方法、激活方法、装置、设备及存储介质 |
CN109409472A (zh) * | 2018-08-24 | 2019-03-01 | 阿里巴巴集团控股有限公司 | 二维码生成方法、数据处理方法、装置及服务器 |
Also Published As
Publication number | Publication date |
---|---|
CN111860727A (zh) | 2020-10-30 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111860727B (zh) | 二维码生成方法、验证方法、设备及计算机可读存储介质 | |
KR100335308B1 (ko) | 워터마크를 이용한 인간 지각가능 데이터 세트의 배포와 인증 방법 및 그 장치 | |
US20190364038A1 (en) | Digital Identification Document | |
CN106709963B (zh) | 验证图像真伪的方法和装置 | |
US20190005268A1 (en) | Universal original document validation platform | |
US10692167B2 (en) | System and method for digitally watermarking digital facial portraits | |
US20190362458A1 (en) | Digital Identification Document | |
CN104980278B (zh) | 验证生物特征图像的可用性的方法和装置 | |
US20090232351A1 (en) | Authentication method, authentication device, and recording medium | |
JP2019148930A (ja) | 二次元コード、二次元コード出力システム、二次元コード出力方法、二次元コード読取システム、二次元コード読取方法及びプログラム | |
CN113498514B (zh) | 校验第三方内容在客户端设备上的显示 | |
US10938574B2 (en) | Cryptographic font script with integrated signature for verification | |
CN114266033A (zh) | 验证码生成方法、装置、验证码登录***及电子设备 | |
JP2006520047A (ja) | 遠隔メッセージ作成を可能にする方法及びシステム | |
CN111144531A (zh) | 二维码生成方法和装置、电子设备、计算机可读存储介质 | |
JP2017021603A (ja) | 正当性確認装置、方法、媒体発行装置、方法、及びプログラム | |
CN111860726B (zh) | 二维码显示方法、验证方法、设备及计算机可读存储介质 | |
WO2022094635A1 (en) | Anti-tampering medium, anti-tampering authentication system and tamper detection method | |
KR101809086B1 (ko) | 실시간 이미지 워터마킹 기술을 이용한 디지털 콘텐츠 제공 및 인증 시스템 | |
US10007844B2 (en) | System and method for digitally watermarking digital facial portraits | |
CN115511030A (zh) | 防伪验证方法、装置和电子设备 | |
JP2019197470A (ja) | 配置装置、検証装置、制御方法、データ生成方法及びデータ構造 | |
US20240129132A1 (en) | Signature generation device, authentication device, and program | |
TW202133050A (zh) | 用於將可執行代碼編碼在條碼中的系統和方法 | |
CN109756459B (zh) | 数据处理、数据识别方法、设备、介质 |
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 |