一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

二维码生成、识别方法及电子设备与流程

2021-12-15 03:07:00 来源:中国专利 TAG:


1.本发明涉及计算机技术领域,特别涉及一种二维码生成、识别方法及电子设备。


背景技术:

2.当前二维码的使用已经是在人们日常生活中必不要少的一部分,但现在二维码在应用的过程中,存在较大的安全缺陷,主要反映在二维码容易被复制和转发的问题,一旦二维码被有意或无意的泄露,势必对财产或安全造成损失,为二维码应用在较高安全性的场合,造成较大的影响。
3.现在主流技术为防止二维码被复制的问题,通常采用以下方式:
4.1、时间窗口限制,为每一个二维码的设置一个有效期(常见的如微信和支付宝),为了防止二维码生成设备(如手机)和二维码识别装置时间有差异的问题,通常时间的窗口都在2分钟以上,部分离线识别的设备二维码有效时间还达到10分钟以上,这就给复制转发提供了较充裕的时间。
5.2、手机软件防截屏,如微信和支付宝的付款码,在使用时是不允许手机进行截屏操作的,以防止第三方软件通过截屏的方式获取和转发付款码。但这个方案只能防止手机内部软件的本身对二维码进行复制,不能防止通过手机拍照转发等外部的方式对二维码进行复制转发。


技术实现要素:

6.本发明旨在至少解决现有技术中存在的技术问题之一。为此,本发明提出一种二维码生成方法,能够提高二维码使用的安全性。
7.本发明还提出一种生成二维码的电子设备。
8.本发明还提出一种二维码识别方法。
9.本发明还提出一种识别二维码的电子设备。
10.根据本发明的第一方面实施例的二维码生成方法,包括以下步骤:s1、初始化序号为0;s2、获取用户要传输的实际有效数据作为用户数据,以及获取当前时间作为时间戳;s3、将所述用户数据、所述时间戳及所述序号进行组合,得到原始字符串;并将原始字符串加密和编码,得到加密字符串;s4、将所述加密字符串通过二维码算法显示出来;s5、经过预设时间间隔后,序号加1并返回所述步骤s2。
11.根据本发明实施例的二维码生成方法,至少具有如下有益效果:本发明实施例的二维码生成方法通过在二维码中添加时间戳和序号,并使用滚动显示和识别二维码的方式,提高了二维码使用的安全性,防止二维码复制转发造成的安全性问题。
12.根据本发明的一些实施例,所述序号为16为无符号数,范围为0~65535,超过65535自动从0继续循环。
13.根据本发明的一些实施例,所述将原始字符串加密和编码包括:对所述原始字符串用公钥进行rsa加密,加密后进行base64编码。根据本发明的一些实施例,所述预设时间
间隔为0.3~2秒,所述方法生成的二维码滚动显示。
14.根据本发明的一些实施例,所述方法还包括:上述加密字符串生成连续序号的二维码。
15.根据本发明的一些实施例,所述方法还包括:上述生成的连续序号的二维码,在一个较短的时间内不断滚动显示,以产生变化的二维码图形。
16.根据本发明的一些实施例,所述方法还包括:上述滚动显示的二维码,根据生成装置与识别装置的计算能力,滚动显示的间隔时间在0.3~2秒,以这个较短的时间提高伪造者通过手动切换二维码图形的方式伪造滚动二维码的难度。
17.根据本发明的第二方面实施例的生成二维码的电子设备,包括:处理器,用于计算和生成二维码图形;存储器,用于存储一个或多个程序;显示器,用于显示生成的二维码;所述一个或多个程序被所述处理器执行时实现本发明的第一方面实施例中任一项的方法。
18.由于本发明实施例的生成二维码的电子设备的存储器存储有用于执行如本发明第一方面中任一项所述的二维码生成方法的一个或多个程序,因此具有本发明第一方面的所有有益效果。
19.根据本发明的第三方面实施例的二维码识别方法,用于识别本发明的第二方面实施例所述的电子设备生成的二维码,包括以下步骤:获取连续显示的多个二维码,通过解码和解密后,得到每个二维码中的序号和时间戳信息;设置有效计数值;根据时间戳获取到所述每个二维码的间隔时间,并依次判断单个二维码是否有效,若二维码无效,则所述有效计数值清0;若二维码有效,则判断本次获取的单个二维码的序号是否是上一个二维码的序号加1,若是,则所述有效计数值加1;若否,则将所述有效计数值设置为1(表示这是第1个有效的二维码,之前识别二维码已经作废);若所述有效计数值超过预设值(预设值可以是2或3),则二维码识别完成并返回二维码有效和附加的用户信息。
20.根据本发明实施例的二维码识别方法,至少具有如下有益效果:本发明实施例的二维码识别方法通过连续识别多个二维码并根据其序号判断多个二维码间的相关性,提高了二维码使用的安全性,防止二维码复制转发造成的安全性问题。
21.根据本发明的一些实施例,所述判断单个二维码是否有效包括:获取的二维码对应的时间戳,与设备本身的时间戳进行比较,得到二维码的时间戳与设备本身时间戳的误差;若所述二维码的时间戳与设备本身时间戳的误差在预设的时间误差范围内,则二维码有效;对于有联网校时功能的设备,所述预设的时间误差为正负20至60秒;对于无校时功能的离线识别设备,所述预设的时间误差在5~20分钟。二维码的时间戳与设备本身时间戳的误差在此范围内都认为有效。
22.根据本发明的一些实施例,所述解码和解密后,得到每个二维码中的序号和时间戳信息包括:二维码识别得到加密字符串,再通过bas64解码得到rsa加密数据,rsa加密数据通过rsa私钥解密得到解码字符串,所述解密字符串里包括序列号、时间戳和原始用户数据几部分。
23.根据本发明的一些实施例,连续获取二维码时,判断二维码与二维码之间的间隔时间是否超过预设的时间(预设时间根据生成二维码装置和识别装置的性能,范围在0.3~2秒内),若超过预设的时间没有识别到后续的二维码,则重置所述有效计数值为0。
24.根据本发明的一些实施例,所述方法还包括:只要连续获取到的二维码的序号是
连续的,就认为是有效的,将识别有效计数值加1,当有效计数值达到预设值(预设值为2或3个)时,本次二维码识别结束,返回二维码用户传输的原始信息。
25.根据本发明的第四方面实施例的识别二维码的电子设备,包括:处理器,用于解析和解密二维码图形;存储器,用于存储一个或多个程序;摄像头,用于获取二维码图像;所述一个或多个程序被所述处理器执行时实现本发明的第三方面实施例中任一项的方法。
26.由于本发明实施例的识别二维码的电子设备的存储器存储有用于执行如本发明第三方面中任一项所述的二维码识别方法的一个或多个程序,因此具有本发明第三方面的所有有益效果。
27.本发明的附加方面和优点将在下面的描述中部分给出,部分将从下面的描述中变得明显,或通过本发明的实践了解到。
附图说明
28.本发明的上述和/或附加的方面和优点从结合下面附图对实施例的描述中将变得明显和容易理解,其中:
29.图1为本发明实施例的二维码生成方法的流程示意图。
30.图2为本发明实施例的生成二维码的电子设备的模块示意框图。
31.图3为本发明实施例的二维码识别方法的流程示意图。
32.图4为本发明实施例的识别二维码的电子设备的模块示意框图。
33.图5为本发明一实施例的二维码生成及识别方法的流程示意图。
34.附图标记:
35.生成二维码的电子设备100、处理器101、存储器102、显示器103、识别二维码的电子设备200、处理器201、存储器202、摄像头203。
具体实施方式
36.下面详细描述本发明的实施例,所述实施例的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附图描述的实施例是示例性的,仅用于解释本发明,而不能理解为对本发明的限制。
37.在本发明的描述中,若干的含义是一个或者多个,多个的含义是两个及两个以上,大于、小于、超过等理解为不包括本数,以上、以下、以内等理解为包括本数。如果有描述到第一、第二只是用于区分技术特征为目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量或者隐含指明所指示的技术特征的先后关系。
38.在本发明的描述中,步骤标号仅是为了描述的方便或者引述的方便所作出的标识,而不能理解为对步骤的操作顺序的限定。
39.针对二维码使用过程中容易被复制和转发的问题,本发明实施例对二维码安全性使用做一个补充,提高二维码使用的安全性。
40.参照图1,本发明实施例的二维码生成方法的具体实施步骤如下:
41.1、初始化序号为0;
42.2、获取用户要传输的实际有效数据作为用户数据,并获取当前时间作为时间戳;
43.3、将用户数据、时间戳及序号进行组合,得到原始字符串;
44.4、将原始字符串加密和编码,得到加密字符串。
45.5、将加密字符串通过二维码算法显示出来;
46.6、经过较小的预设时间间隔后,序号加1并返回步骤2。上述2~5步骤不断重复生成二维码,成为滚动二维码。
47.本实施例中,每个二维码除了用户自己的有效数据外,需要附加一个二维码的序号,作为二维码相关性识别的依据。每个二维码还需要增加时间戳,以时间戳作为二维码识别装置判断二维码的有效性的依据。本实施例中,字符串可以用主流的二维码算法(如qrcode)显示出来给二维码识别装置进行识别。
48.本实施例中,通过滚动二维码加上时间戳和防截屏的方式,一般情况下,通过复制转发的方式,很难在规则限制的时间内手动切换显示相关的几组二维码,从而有效的增强了二维码的安全性。
49.在一些实施例中,序号为16为无符号数,范围为0~65535,超过65535自动从0继续循环。
50.在一些实施例中,时间戳精度为秒。
51.在一些实施例中,将有效数据、序号及时间戳进行组合后,对数据用公钥进行rsa加密,加密后的数据进行base64编码,最后生成base64加密字符串。如果在离线识别的情况下,为了增加上述二维码的安全性,防止二维码算法被破解带来安全隐患,在上述的生成滚动二维码的数据后,进行rsa加密再转成base64的字符串进行显示,加强算法的安全性。
52.在一些实施例中,上述滚动显示的二维码,根据生成装置与识别装置的计算能力,滚动显示的间隔时间在0.3~2秒,以这个较短的时间提高伪造者通过手动切换二维码图形的方式伪造滚动二维码的难度。
53.参照图5,在一具体的实施例中,本发明实施例的二维码生成方法包括:
54.(1)获取用户要传输的实际有效数据作为用户数据;
55.(2)将用户数据、时间戳(当前时间)及序号进行组合,得到原始字符串;
56.(3)对原始字符串用公钥进行rsa加密
57.(4)对加密后的数据进行base64编码,最后生成base64加密字符串
58.(5)对加密字符串通过二维码算法生成二维码图形并显示;
59.(6)等待0.5~2秒,序号加1并返回并重复上述步骤(2)。
60.参照图2,本发明实施例的生成二维码的电子设备100,包括:处理器101,用于计算和生成二维码图形;存储器102,用于存储一个或多个程序;显示器103,用于显示二维码图形;一个或多个程序被处理器101执行时实现上述实施例的二维码生成方法。
61.参照图3,本发明实施例的二维码识别方法包括以下步骤:获取连续显示的多个二维码,每个二维码由上述二维码生成方法生成,符合上述二维码生成方法的二维码生成规则的要求;通过解码和解密后,得到每个二维码中的序号和时间戳信息。根据时间戳获取到上述每个二维码的间隔时间,判断本次获取的单个二维码是否有效,若二维码无效,则有效计数值清0。若本次获取到的二维码有效,判断序号是否上个二维码的序号 1,则有效计数值加1,否则有效次数设置为1(表示这是第1个有效的二维码,之前识别二维码已经作废),如果有效的次数累计超过预设值(预设值为2或3),则本次二维码识别结束,返回二维码有效和附加的用户信息。本实施例中,需要判断序号是否连续,不连续认为是无效数据。并把
当前的识别出的序号当成首个序号,作为判断下一个二维码序号是否连续的依据。当连续识别到2个或3个有效并且序号连续的二维码后,则认为本次识别的二维码有效。
62.在一些实施例中,判断单个二维码是否有效包括:获取的二维码对应的时间戳,与设备本身的时间戳进行比较,得到二维码的时间戳与设备本身时间戳的误差;若二维码的时间戳与设备本身时间戳的误差在预设的时间误差范围内,则二维码有效。
63.在一些实施例中,对于有联网校时功能的设备,预设的时间误差为正负20至60秒;对于无校时功能的离线识别设备,预设的时间误差在5~20分钟。预设的时间间隔视允许接受的时间误差。
64.在一些实施例中,解码和解密后,得到每个二维码中的序号和时间戳信息包括:二维码识别得到加密字符串,再通过bas64解码得到rsa加密数据,rsa加密数据通过rsa私钥解密得到解码字符串,解密字符串里包括序列号、时间戳和原始用户数据几部分。
65.在一些实施例中,连续获取二维码时,判断二维码与二维码之间的间隔时间是否超过预设的时间,若超过预设的时间没有识别到后续的二维码,则重置有效计数值为0。本实施例中,根据约定生成二维码转换的时间(0.5~2秒),在时间窗口内必须连续识别到2个或3个以上的有效的二维码,超过约定的时间则认为是无效的二维码,把识别计数清0,并重新开始识别,以防止人工手动切换二维码图片进行作弊。
66.参照图5,在一具体的实施例中,本发明实施例的二维码识别方法包括以下步骤:
67.(1)初始化并准备识别二维码;
68.(2)识别二维码并计时,若规定时间内未识别出二维码则将计数器清零并返回(1);
69.(3)若在规定时间间隔内识别出二维码,则进行bas64解码,若失败则计数器清零并返回(2);
70.(4)bas64解码成功,则进行rsa私钥解密,若失败则计数器清零并返回(2);
71.(5)解密成功,则根据时间戳依次对每一个二维码判断是否有效,若无效则计数器清零并返回(2);
72.(6)若有效,计数器加1;
73.(7)保存该二维码识别时间,并判断下一个二维码是否有效直到所有二维码有效;
74.(8)判断计数器是否大于1,若否则计数器清零并返回(2);
75.(9)计数器大于1,判断识别出的多个二维码是否序号连续,若连续则识别成功,若不连续,则计数器置1并返回(2)。
76.本发明实施例采用滚动方式连续生成二维码的方式来防止单一静态二维码容易被复制的问题,具体的做法是通过算法生成连续相关的二维码,根据设备的识别速度,每个二维码只显示0.5~3秒的时间,识别装置需要在二维码显示的有效时间内,连续识别2~3个相关的二维码,通过相关性算法判断则认为有效。如果识别设备虽然也连续识别到了2个相关的二维码,但如果2个相关的二维码出现的时间不对,例如间隔超过了预计的时间,则也认为该二维码是复制的,属于无效二维码。
77.参照图4,本发明实施例的识别二维码的电子设备200包括:处理器201,用于解析和解密二维码图形;存储器202,用于存储一个或多个程序;摄像头203,用于获取二维码图像信息;一个或多个程序被处理器201执行时实现上述实施例的二维码识别方法。
78.应当认识到,本发明实施例中的方法步骤可以由计算机硬件、硬件和软件的组合、或者通过存储在非暂时性计算机可读存储器中的计算机指令来实现或实施。所述方法可以使用标准编程技术。每个程序可以以高级过程或面向对象的编程语言来实现以与计算机系统通信。然而,若需要,该程序可以以汇编或机器语言实现。在任何情况下,该语言可以是编译或解释的语言。此外,为此目的该程序能够在编程的专用集成电路上运行。
79.此外,可按任何合适的顺序来执行本文描述的过程的操作,除非本文另外指示或以其他方式明显地与上下文矛盾。本文描述的过程(或变型和/或其组合)可在配置有可执行指令的一个或多个计算机系统的控制下执行,并且可作为共同地在一个或多个微处理器上执行的代码(例如,可执行指令、一个或多个计算机程序或一个或多个应用)、由硬件或其组合来实现。所述计算机程序包括可由一个或多个微处理器执行的多个指令。
80.进一步,所述方法可以在可操作地连接至合适的任何类型的计算平台中实现,包括但不限于个人电脑、迷你计算机、主框架、工作站、网络或分布式计算环境、单独的或集成的计算机平台、或者与带电粒子工具或其它成像装置通信等等。本发明的各方面可以以存储在非暂时性存储介质或设备上的机器可读代码来实现,无论是可移动的还是集成至计算平台,如硬盘、光学读取和/或写入存储介质、ram、rom等,使得其可由可编程计算机读取,当存储介质或设备由计算机读取时可用于配置和操作计算机以执行在此所描述的过程。此外,机器可读代码,或其部分可以通过有线或无线网络传输。当此类媒体包括结合微处理器或其他数据处理器实现上文所述步骤的指令或程序时,本文所述的发明包括这些和其他不同类型的非暂时性计算机可读存储介质。当根据本发明所述的方法和技术编程时,本发明还包括计算机本身。
81.计算机程序能够应用于输入数据以执行本文所述的功能,从而转换输入数据以生成存储至非易失性存储器的输出数据。输出信息还可以应用于一个或多个输出设备如显示器。在本发明优选的实施例中,转换的数据表示物理和有形的对象,包括显示器上产生的物理和有形对象的特定视觉描绘。
82.上面结合附图对本发明实施例作了详细说明,但是本发明不限于上述实施例,在所属技术领域普通技术人员所具备的知识范围内,还可以在不脱离本发明宗旨的前提下作出各种变化。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献