CN110119643B - 二维码生成方法及装置、二维码识别方法及装置 - Google Patents
二维码生成方法及装置、二维码识别方法及装置 Download PDFInfo
- Publication number
- CN110119643B CN110119643B CN201810123416.0A CN201810123416A CN110119643B CN 110119643 B CN110119643 B CN 110119643B CN 201810123416 A CN201810123416 A CN 201810123416A CN 110119643 B CN110119643 B CN 110119643B
- Authority
- CN
- China
- Prior art keywords
- code word
- code
- error correction
- encrypted
- data
- 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
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06K—GRAPHICAL DATA READING; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
- G06K19/00—Record carriers for use with machines and with at least a part designed to carry digital markings
- G06K19/06—Record 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/06009—Record 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
- G06K19/06037—Record 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 multi-dimensional coding
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06K—GRAPHICAL DATA READING; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
- G06K1/00—Methods or arrangements for marking the record carrier in digital fashion
- G06K1/12—Methods or arrangements for marking the record carrier in digital fashion otherwise than by punching
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06K—GRAPHICAL DATA READING; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
- G06K7/00—Methods or arrangements for sensing record carriers, e.g. for reading patterns
- G06K7/10—Methods or arrangements for sensing record carriers, e.g. for reading patterns by electromagnetic radiation, e.g. optical sensing; by corpuscular radiation
- G06K7/14—Methods or arrangements for sensing record carriers, e.g. for reading patterns by electromagnetic radiation, e.g. optical sensing; by corpuscular radiation using light without selection of wavelength, e.g. sensing reflected white light
- G06K7/1404—Methods for optical code recognition
- G06K7/1408—Methods for optical code recognition the method being specifically adapted for the type of code
- G06K7/1417—2D bar codes
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06K—GRAPHICAL DATA READING; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
- G06K7/00—Methods or arrangements for sensing record carriers, e.g. for reading patterns
- G06K7/10—Methods or arrangements for sensing record carriers, e.g. for reading patterns by electromagnetic radiation, e.g. optical sensing; by corpuscular radiation
- G06K7/14—Methods or arrangements for sensing record carriers, e.g. for reading patterns by electromagnetic radiation, e.g. optical sensing; by corpuscular radiation using light without selection of wavelength, e.g. sensing reflected white light
- G06K7/1404—Methods for optical code recognition
- G06K7/146—Methods for optical code recognition the method including quality enhancement steps
- G06K7/1473—Methods for optical code recognition the method including quality enhancement steps error correction
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Electromagnetism (AREA)
- Health & Medical Sciences (AREA)
- General Health & Medical Sciences (AREA)
- Toxicology (AREA)
- Artificial Intelligence (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Quality & Reliability (AREA)
- Storage Device Security (AREA)
- Detection And Correction Of Errors (AREA)
Abstract
本公开是关于一种二维码生成方法及装置、二维码识别方法及装置、电子设备以及存储介质,涉及计算机技术领域。该方法包括:根据输入信息生成数据码字;将所述数据码字进行加密处理,以生成加密码字;确定纠错码字块数;根据所述纠错码字块数对应的构造方式将所述数据码字以及所述加密码字生成二维码信息。本公开可以有效提高二维码的安全性。
Description
技术领域
本公开涉及计算机技术领域,具体而言,涉及一种二维码生成方法、二维码生成装置、二维码识别方法、二维码识别装置、电子设备以及计算机可读存储介质。
背景技术
随着互联网技术和通信技术的发展,二维码由于其简单、便利的特性被广泛应用于各类领域。然而,也正因为其简单便利的特性,二维码已经成为移动终端用户感染病毒的新渠道,很多用户在使用移动终端的扫码登录或支付等应用场景过程中,造成用户信息泄露、财产损失的案例不胜枚举,进而导致二维码在应用中的安全性存在极大隐患。
因此,需要提供一种至少能够解决上述问题中的一个或多个问题的技术方案。
需要说明的是,在上述背景技术部分公开的信息仅用于加强对本公开的背景的理解,因此可以包括不构成对本领域普通技术人员已知的现有技术的信息。
发明内容
本公开的目的在于提供一种二维码生成方法、二维码生成装置、二维码识别方法、二维码识别装置、电子设备以及计算机可读存储介质,进而至少在一定程度上克服由于相关技术的限制和缺陷而导致的一个或者多个问题。
根据本公开的一个方面,提供一种二维码生成方法,包括:
根据输入信息生成数据码字;
将所述数据码字进行加密处理,以生成加密码字;
确定纠错码字块数;
根据与所述纠错码字块数对应的构造方式将所述数据码字以及所述加密码字生成二维码信息。
在本公开的一种示例性实施例中,将所述数据码字进行加密,以生成加密码字,包括:
将所述数据码字根据密钥管理***生成对应密钥,并根据加密算法对所述密钥进行加密;
将加密后的密钥按照预设编码算法转换为所述加密码字。
在本公开的一种示例性实施例中,所述确定纠错码字块数,包括:
获取所述数据码字的数据码长以及纠错等级;
根据所述数据码长以及纠错等级在预设纠错特性表项中查找纠错码字块数。
在本公开的一种示例性实施例中,所述根据与所述纠错码字块数对应的构造方式将所述数据码字以及所述加密码字生成二维码信息,包括:
判断所述纠错码字块数是否大于预设阈值,若是,根据预设纠错特性表项查找对应的指定填充码字块,并将所述加密码字填充至所述指定填充码字块中;否则,将所述加密码字填充至最后一个数据码字块中。
根据本公开的一个方面,提供一种二维码识别方法,包括:
读取并解析加密后的二维码信息;
获取纠错码字块数;
根据与纠错码字块数对应的数据恢复方式对所述二维码信息进行数据码字以及加密码字的恢复;
对所述加密码字进行安全校验,并在所述加密码字通过安全验证后获取输入信息。
在本公开的一种示例性实施例中,所述根据与纠错码字块数对应的数据恢复方式对所述二维码信息进行数据码字以及加密码字的恢复,包括:
判断所述纠错码字块数是否大于预设阈值,若是,根据预设纠错特性表项查找对应的指定填充码字块,并通过译码算法获取所述指定填充码字块中的加密码字;否则,通过译码算法获取最后一个数据码字块中的所述加密码字。
根据本公开的一个方面,提供一种二维码生成装置,包括:
数据码字生成模块,用于根据输入信息生成数据码字;
加密码字生成模块,用于将所述数据码字进行加密处理,以生成加密码字;
纠错码块确定模块,用于确定纠错码字块数;
二维码信息生成模块,用于根据与所述纠错码字块数对应的构造方式将所述数据码字以及所述加密码字生成二维码信息。
根据本公开的一个方面,提供一种二维码识别装置,包括:
二维码信息读取模块,用于读取并解析加密后的二维码信息;
纠错码块确定模块,用于确定纠错码字块数;
码字恢复模块,用于根据与纠错码字块数对应的数据恢复方式对所述二维码信息进行数据码字以及加密码字的恢复;
输入信息获取模块,用于对所述加密码字进行安全校验,并在所述加密码字通过安全验证后获取输入信息。
根据本公开的一个方面,提供一种电子设备,包括:
处理器;以及
存储器,所述存储器上存储有计算机可读指令,所述计算机可读指令被所述处理器执行时实现根据上述任意一项所述的方法。
根据本公开的一个方面,提供一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现根据上述任意一项所述的方法。
本公开的示例性实施例中的二维码生成方法,根据输入信息生成数据码字,并将所述数据码字进行加密处理,以生成加密码字,在确定纠错码字块数后,根据纠错码字块数对应的构造方式将数据码字以及加密码字生成二维码信息。一方面,由于可以通过对数据码字进行加密处理,因此可防止数据内容被篡改,提高了二维码的安全性;另一方面,由于根据与纠错码字块数对应的构造方式将数据码字以及加密码字生成二维码信息,还可以在较高效率的情况下完成加密码字的完整填充。
应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本公开。
附图说明
通过参照附图来详细描述其示例实施例,本公开的上述和其它特征及优点将变得更加明显。
图1示出了根据本公开一示例性实施例的二维码生成方法的流程图;
图2示出了根据本公开一示例性实施例的二维码识别方法的流程图;
图3示出了根据本公开一示例性实施例的二维码生成装置的示意框图;
图4示出了根据本公开一示例性实施例的二维码识别装置的示意框图;
图5示意性示出了根据本公开一示例性实施例的电子设备的框图;以及
图6示意性示出了根据本公开一示例性实施例的计算机可读存储介质的示意图。
具体实施方式
现在将参考附图更全面地描述示例实施例。然而,示例实施例能够以多种形式实施,且不应被理解为限于在此阐述的实施例;相反,提供这些实施例使得本公开将全面和完整,并将示例实施例的构思全面地传达给本领域的技术人员。在图中相同的附图标记表示相同或类似的部分,因而将省略对它们的重复描述。
此外,所描述的特征、结构或特性可以以任何合适的方式结合在一个或更多实施例中。在下面的描述中,提供许多具体细节从而给出对本公开的实施例的充分理解。然而,本领域技术人员将意识到,可以实践本公开的技术方案而没有所述特定细节中的一个或更多,或者可以采用其它的方法、组元、材料、装置、步骤等。在其它情况下,不详细示出或描述公知结构、方法、装置、实现、材料或者操作以避免模糊本公开的各方面。
附图中所示的方框图仅仅是功能实体,不一定必须与物理上独立的实体相对应。即,可以采用软件形式来实现这些功能实体,或在一个或多个软件硬化的模块中实现这些功能实体或功能实体的一部分,或在不同网络和/或处理器装置和/或微控制器装置中实现这些功能实体。
在本示例实施例中,首先提供了一种二维码生成方法,可以应用于一网络设备;所述网络设备例如可以为服务器等电子设备。参考图1中所示,该二维码生成方法可以包括以下步骤:
步骤S110.根据输入信息生成数据码字;
步骤S120.将所述数据码字进行加密处理,以生成加密码字;
步骤S130.确定纠错码字块数;
步骤S140.根据与所述纠错码字块数对应的构造方式将所述数据码字以及所述加密码字生成二维码信息。
根据本示例实施例中的二维码生成方法,一方面,由于可以通过对数据码字进行加密处理,因此可防止数据内容被篡改,提高了二维码的安全性;另一方面,由于根据与纠错码字块数对应的构造方式将数据码字以及加密码字生成二维码信息,还可以在较高效率的情况下完成加密码字的完整填充。
下面,将对本示例实施例中的二维码生成方法进行进一步的说明。
在步骤S110中,可以根据输入信息生成数据码字;
输入信息即输入的数据流,为需要生成二维码的信息。本示例实施方式中,首先对输入信息进行信息分析,确定其信息长度,根据信息长度确定其格式以及版本。其中,格式包括纠错等级、掩膜序号以及纠错位等信息,版本包括版本信息以及纠错位等。由于掩膜序号为后续添加掩膜时才能获得,因此,此时的掩膜序号可以为空。
之后,通过数据编码将输入信息转换为位流,以及是否需要进行模式转换将数据位流转换为较短的长度。并在进行数据编码之后,通过RS(Reed-solomon codes,纠错信道编码)码编码等算法将输入信息进行有限域转换,生成RS码数据码字。
在步骤S120中,将所述数据码字进行加密处理,以生成加密码字;
本示例实施方式中,该步骤可以包括:将所述数据码字根据密钥管理***生成对应密钥,并根据加密算法对所述密钥进行加密;将加密后的密钥按照预设编码算法转换为所述加密码字。
在获得RS码数据码字后,将所述RS码数据码字根据密钥管理***生成对应密钥可以包括:将该RS码数据码字输入至密钥管理***,以生成与该RS码数据码字对应的密钥;也可以是对该RS码数据码字生成对应的编码符号,并通过该密钥管理***对该编码符号生成对应的密钥。本示例实施方式中,将数据码字根据密钥管理***生成对应密钥的步骤,可根据密钥管理***的不同(不同的密钥管理***其密钥生成规则也不相同),使得其生成对应密钥的方式也不相同,本公开对密钥管理***以及密钥生成规则均无特殊限定。
在生成对应的密钥后,可以通过加密算法对该密钥进行加密,对加密后的密钥通过RS码编码算法进行有限域转换,得到用于安全加密的RS码加密码字。其中,该加密算法可以是DES(Data Encryption Standard,数据加密标准)加密算法、AES(AdvancedEncryption Standard,高级加密标准)加密算法等等,本公开对此不做具体限定。
在步骤S130中,确定纠错码字块数;
本示例实施方式中,该步骤可以包括:获取所述数据码字的数据码长以及纠错等级;根据所述数据码长以及纠错等级在预设纠错特性表项中查找纠错码字块数。
该预设纠错特性表项可以是根据数据码长以及纠错等级等信息预先设定的,例如可参考下表所示:
表1
表1示出了预设纠错特性表项,仅用于进一步理解本公开内容的示例,并不用于限制预设纠错特性表项中的具体内容。
预设纠错特性表项中预先设置了版本、码字总数、纠错等级、对应的纠错码字块数以及每一块的纠错代码之间的对应关系,当生成RS码数据码字后即可根据RS码数据码字总数、预先确定的版本号以及纠错等级在表1中查找到对应的纠错码字块数。
在步骤S140中,根据所述纠错码字块数对应的构造方式将所述数据码字以及所述加密码字生成二维码信息。
本示例实施方式中,该步骤可以包括:判断所述纠错码字块数是否大于预设阈值,若是,根据预设纠错特性表项查找对应的指定填充码字块,并将所述加密码字填充至所述指定填充码字块中;否则,将所述加密码字填充至最后一个数据码字块中。所述构造方式可以包括分块交叉构造方式以及补充构造方式,例如:可以将预设阈值设置为1,若判断所述纠错码字块数大于1则采用分块交叉构造方式,若所述纠错码字块数不大于(小于或等于)1,则采用补充构造方式。举例而言:
若步骤S110中确定的版本为:版本信息3,纠错等级为Q,数据码长为70,那么可以在表1中查找到对应的纠错码字块数为2,由于该纠错码字块数2大于预设阈值1,可以使用分块交叉构造方式构造出最终信息,即:查找表1中与该纠错等级、数据码长(也可以包括版本号)对应的每一块的纠错代码,从中查找到对应的数据码字块(35,17,9),也即指定填充码字块,并将RS码加密码字依次分别填充至数据码字块35,17,9中的补充位,由此构造出最终信息。然而,若步骤S110中确定的版本为:版本信息2,纠错等级为Q,数据码长为44,那么可以在表1中查找到对应的纠错码字块数为1,由于该纠错码字块数1等于预设阈值1,那么则可以使用补充构造方式构造出最终信息,即:将该加密码字填充至最后一个数据码字块的补充位中,由此构造出最终信息。
本示例实施方式中,为了保证加密码字构造的完整性,可以在生成加密码字前,事先根据纠错码字块数对应的构造方式确定出加密码字的码字总数,即对应的数据码字块中可填充的补充位数量,以使加密码字可完整的被填充至数据码字块中。
在构造出最终信息后,将该最终信息布置于矩阵中,并添加选取的掩膜图形,根据选取的掩膜图形补充格式中的掩膜序号信息,最后,添加格式和版本信息,以生成二维码信息(即二维码符号)。
进一步的,本示例实施方式中还提供了一种二维码识别方法,可以应用于一终端设备;所述终端设备例如可以为手机、电脑、PDA等具有二维码扫描的各种电子设备。参考图2所示,所述二维码识别方法可以包括:
步骤S210.读取并解析加密后的二维码信息;
在本步骤中,读取并解析加密后的二维码信息包括:通过电子设备扫描读取加密后的二维码符号,解析二维码符号中的深浅模块、格式信息译码等信息,获取该二维码信息中的数据码字长度,并消除添加的掩膜图形,以确定出版本以及格式信息,进而获取格式和版本中的纠错等级、掩膜序号以及版本号等信息。
步骤S220.确定纠错码字块数;
本步骤中确定纠错码字块数的方式可以参考步骤S130中的纠错码字块数的确定方式,在此不再赘述。
步骤S230.根据纠错码字块数对应的数据恢复方式对所述二维码信息进行数据码字以及加密码字的恢复;
根据纠错码字块数对应的数据恢复方式对所述二维码信息进行数据码字以及加密码字的恢复,包括:判断所述纠错码字块数是否大于预设阈值,若是,根据预设纠错特性表项查找对应的指定填充码字块,并通过译码算法获取所述指定填充码字块中的加密码字;否则,通过译码算法获取最后一个数据码字块中的所述加密码字。
本步骤中的预设阈值与上述步骤S140中的预设阈值可以相同,在确定纠错码字块数后,与纠错码字块数对应的数据恢复方式可以包括分块恢复数据方式以及分段恢复数据方式。当纠错码字块数大于预设阈值时,则采用分块恢复数据方式,若所述纠错码字块数不大于(小于或等于)预设阈值,则采用分段恢复数据方式。举例来说:
若确定的版本为:版本信息3,纠错等级为Q,数据码长为70,且在预设纠错特性表项(表1)中查找到对应的纠错码字块数为2,由于该纠错码字块数2大于预设阈值1,可以使用分块恢复数据方式恢复出数据码字以及加密码字,即:查找表1中与该纠错等级、数据码长对应的每一块的纠错代码,从中查找到对应的数据码字块(35,17,9),并将RS码加密码字依次分别从数据码字块35,17,9中的补充位获取,由此恢复出RS数据码字以及RS码加密码字;然而,若确定纠错码字块数为1,由于该纠错码字块数1等于预设阈值1,那么则可以使用分段恢复数据方式恢复出RS码加密码字,即:从最后一个数据码字块的补充位中获取填充的RS码加密码字,由此恢复出RS码数据码字以及RS码加密码字。
步骤S240.对所述加密码字进行安全校验,并在所述加密码字通过安全验证后获取输入信息。
本步骤中,对所述加密码字进行安全校验,包括:在获取RS码加密码字后,首先通过RS码纠错译码算法对RS码加密码字进行有限域转换,并根据密钥管理***对进行有限域转换后的加密码字进行解密,以得到对应的密钥。接着,可以对该密钥进行验证,对密钥进行验证的方式可以根据密钥管理***的不同而不同,例如:可以将获取的密钥与步骤S120中获取的密钥进行匹配,也可以是将获取的密钥与RS码数据码字进行匹配等,如果确定两者匹配,则确定通过安全校验,可以还原出二维码符号中原始的输入信息;若确定两者并不匹配,或者获取的密钥为0,说明信息可能被篡改,确定未通过安全校验,则不能还原出二维码符号中原始的输入信息。由此可见,本公开还可以通过对二维码信息的安全验证,及时检查出二维码信息是否被篡改,进而保证了二维码信息在实际应用场景中的安全性。
需要说明的是,尽管在附图中以特定顺序描述了本公开中方法的各个步骤,但是,这并非要求或者暗示必须按照该特定顺序来执行这些步骤,或是必须执行全部所示的步骤才能实现期望的结果。附加的或备选的,可以省略某些步骤,将多个步骤合并为一个步骤执行,以及/或者将一个步骤分解为多个步骤执行等。
此外,在本示例实施例中,还提供了一种二维码生成装置。参照图3所示,该二维码生成装置300可以包括:数据码字生成模块310、加密码字生成模块320、纠错码块确定模块330以及二维码信息生成模块340。其中:
数据码字生成模块310,可以用于根据输入信息生成数据码字;
加密码字生成模块320,可以用于将所述数据码字进行加密处理,以生成加密码字;
纠错码块确定模块330,可以用于确定纠错码字块数;
二维码信息生成模块340,可以用于根据所述纠错码字块数对应的构造方式将所述数据码字以及所述加密码字生成二维码信息。
上述中各二维码生成装置模块的具体细节已经在对应的二维码生成方法中进行了详细的描述,因此此处不再赘述。
此外,在本示例实施例中,还提供了一种二维码识别装置。参照图4所示,该二维码识别装置400可以包括:二维码信息读取模块410、纠错码块确定模块420、码字恢复模块430以及输入信息获取模块440。其中:
二维码信息读取模块410,用于读取并解析加密后的二维码信息;
纠错码块确定模块420,用于确定纠错码字块数;
码字恢复模块430,用于根据纠错码字块数对应的数据恢复方式对所述二维码信息进行数据码字以及加密码字的恢复;
输入信息获取模块440,用于对所述加密码字进行安全校验,并在所述加密码字通过安全验证后获取输入信息。
上述中各二维码识别装置模块的具体细节已经在对应的二维码识别方法中进行了详细的描述,因此此处不再赘述。
应当注意,尽管在上文详细描述中提及了二维码生成装置600的若干模块或者单元,但是这种划分并非强制性的。实际上,根据本公开的实施方式,上文描述的两个或更多模块或者单元的特征和功能可以在一个模块或者单元中具体化。反之,上文描述的一个模块或者单元的特征和功能可以进一步划分为由多个模块或者单元来具体化。
此外,在本公开的示例性实施例中,还提供了一种能够实现上述方法的电子设备。
所属技术领域的技术人员能够理解,本发明的各个方面可以实现为***、方法或程序产品。因此,本发明的各个方面可以具体实现为以下形式,即:完全的硬件实施例、完全的软件实施例(包括固件、微代码等),或硬件和软件方面结合的实施例,这里可以统称为“电路”、“模块”或“***”。
下面参照图5来描述根据本发明的这种实施例的电子设备500。图5显示的电子设备500仅仅是一个示例,不应对本发明实施例的功能和使用范围带来任何限制。
如图5所示,电子设备500以通用计算设备的形式表现。电子设备500的组件可以包括但不限于:上述至少一个处理单元510、上述至少一个存储单元520、连接不同***组件(包括存储单元520和处理单元510)的总线530、显示单元540。
其中,所述存储单元存储有程序代码,所述程序代码可以被所述处理单元510执行,使得所述处理单元510执行本说明书上述“示例性方法”部分中描述的根据本发明各种示例性实施例的步骤。例如,所述处理单元510可以执行如图1中所示的步骤S110-步骤S140,以及如图2中所示的步骤S210-步骤S240。
存储单元520可以包括易失性存储单元形式的可读介质,例如随机存取存储单元(RAM)5201和/或高速缓存存储单元5202,还可以进一步包括只读存储单元(ROM)5203。
存储单元520还可以包括具有一组(至少一个)程序模块5205的程序/实用工具5204,这样的程序模块5205包括但不限于:操作***、一个或者多个应用程序、其它程序模块以及程序数据,这些示例中的每一个或某种组合中可能包括网络环境的实现。
总线530可以为表示几类总线结构中的一种或多种,包括存储单元总线或者存储单元控制器、***总线、图形加速端口、处理单元或者使用多种总线结构中的任意总线结构的局域总线。
电子设备500也可以与一个或多个外部设备570(例如键盘、指向设备、蓝牙设备等)通信,还可与一个或者多个使得用户能与该电子设备500交互的设备通信,和/或与使得该电子设备500能与一个或多个其它计算设备进行通信的任何设备(例如路由器、调制解调器等等)通信。这种通信可以通过输入/输出(I/O)接口550进行。并且,电子设备500还可以通过网络适配器550与一个或者多个网络(例如局域网(LAN),广域网(WAN)和/或公共网络,例如因特网)通信。如图所示,网络适配器550通过总线530与电子设备500的其它模块通信。应当明白,尽管图中未示出,可以结合电子设备500使用其它硬件和/或软件模块,包括但不限于:微代码、设备驱动器、冗余处理单元、外部磁盘驱动阵列、RAID***、磁带驱动器以及数据备份存储***等。
通过以上的实施例的描述,本领域的技术人员易于理解,这里描述的示例实施例可以通过软件实现,也可以通过软件结合必要的硬件的方式来实现。因此,根据本公开实施例的技术方案可以以软件产品的形式体现出来,该软件产品可以存储在一个非易失性存储介质(可以是CD-ROM,U盘,移动硬盘等)中或网络上,包括若干指令以使得一台计算设备(可以是个人计算机、服务器、终端装置、或者网络设备等)执行根据本公开实施例的方法。
在本公开的示例性实施例中,还提供了一种计算机可读存储介质,其上存储有能够实现本说明书上述方法的程序产品。在一些可能的实施例中,本发明的各个方面还可以实现为一种程序产品的形式,其包括程序代码,当所述程序产品在终端设备上运行时,所述程序代码用于使所述终端设备执行本说明书上述“示例性方法”部分中描述的根据本发明各种示例性实施例的步骤。
参考图6所示,描述了根据本发明的实施例的用于实现上述方法的程序产品600,其可以采用便携式紧凑盘只读存储器(CD-ROM)并包括程序代码,并可以在终端设备,例如个人电脑上运行。然而,本发明的程序产品不限于此,在本文件中,可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行***、装置或者器件使用或者与其结合使用。
所述程序产品可以采用一个或多个可读介质的任意组合。可读介质可以是可读信号介质或者可读存储介质。可读存储介质例如可以为但不限于电、磁、光、电磁、红外线、或半导体的***、装置或器件,或者任意以上的组合。可读存储介质的更具体的例子(非穷举的列表)包括:具有一个或多个导线的电连接、便携式盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。
计算机可读信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了可读程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。可读信号介质还可以是可读存储介质以外的任何可读介质,该可读介质可以发送、传播或者传输用于由指令执行***、装置或者器件使用或者与其结合使用的程序。
可读介质上包含的程序代码可以用任何适当的介质传输,包括但不限于无线、有线、光缆、RF等等,或者上述的任意合适的组合。
可以以一种或多种程序设计语言的任意组合来编写用于执行本发明操作的程序代码,所述程序设计语言包括面向对象的程序设计语言—诸如Java、C++等,还包括常规的过程式程序设计语言—诸如“C”语言或类似的程序设计语言。程序代码可以完全地在用户计算设备上执行、部分地在用户设备上执行、作为一个独立的软件包执行、部分在用户计算设备上部分在远程计算设备上执行、或者完全在远程计算设备或服务器上执行。在涉及远程计算设备的情形中,远程计算设备可以通过任意种类的网络,包括局域网(LAN)或广域网(WAN),连接到用户计算设备,或者,可以连接到外部计算设备(例如利用因特网服务提供商来通过因特网连接)。
此外,上述附图仅是根据本发明示例性实施例的方法所包括的处理的示意性说明,而不是限制目的。易于理解,上述附图所示的处理并不表明或限制这些处理的时间顺序。另外,也易于理解,这些处理可以是例如在多个模块中同步或异步执行的。
本领域技术人员在考虑说明书及实践这里公开的发明后,将容易想到本公开的其他实施例。本申请旨在涵盖本公开的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本公开的一般性原理并包括本公开未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本公开的真正范围和精神由权利要求指出。
应当理解的是,本公开并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本公开的范围仅由所附的权利要求来限。
Claims (8)
1.一种二维码生成方法,其特征在于,所述方法包括:
根据输入信息生成数据码字;
将所述数据码字进行加密处理,以生成加密码字;
确定纠错码字块数;
根据与所述纠错码字块数对应的构造方式将所述数据码字以及所述加密码字生成二维码信息;
其中,在生成加密码字前,事先根据纠错码字块数对应的构造方式确定出加密码字的码字总数;
所述根据与所述纠错码字块数对应的构造方式将所述数据码字以及所述加密码字生成二维码信息,包括:
判断所述纠错码字块数是否大于预设阈值,若是,根据预设纠错特性表项查找对应的指定填充码字块,并将所述加密码字填充至所述指定填充码字块中;否则,将所述加密码字填充至最后一个数据码字块中。
2.如权利要求1所述的方法,其特征在于,将所述数据码字进行加密,以生成加密码字,包括:
将所述数据码字根据密钥管理***生成对应密钥,并根据加密算法对所述密钥进行加密;
将加密后的密钥按照预设编码算法转换为所述加密码字。
3.如权利要求1所述的方法,其特征在于,所述确定纠错码字块数,包括:
获取所述数据码字的数据码长以及纠错等级;
根据所述数据码长以及纠错等级在预设纠错特性表项中查找纠错码字块数。
4.一种二维码识别方法,其特征在于,所述方法包括:
读取并解析加密后的二维码信息;所述加密后的二维码信息是采用如权利要求1~3任一所述的方法生成的;
获取纠错码字块数;
根据与纠错码字块数对应的数据恢复方式对所述二维码信息进行数据码字以及加密码字的恢复;
对所述加密码字进行安全校验,并在所述加密码字通过安全验证后获取输入信息;
所述根据与纠错码字块数对应的数据恢复方式对所述二维码信息进行数据码字以及加密码字的恢复,包括:
判断所述纠错码字块数是否大于预设阈值,若是,根据预设纠错特性表项查找对应的指定填充码字块,并通过译码算法获取所述指定填充码字块中的加密码字;否则,通过译码算法获取最后一个数据码字块中的所述加密码字。
5.一种二维码生成装置,其特征在于,所述装置包括:
数据码字生成模块,用于根据输入信息生成数据码字;
加密码字生成模块,用于将所述数据码字进行加密处理,以生成加密码字;
纠错码块确定模块,用于确定纠错码字块数;
二维码信息生成模块,用于根据与所述纠错码字块数对应的构造方式将所述数据码字以及所述加密码字生成二维码信息;
所述二维码信息生成模块在所述加密码字生成模块生成加密码字之前,事先根据纠错码字块数对应的构造方式确定出加密码字的码字总数;
所述二维码信息生成模块具体用于,判断所述纠错码字块数是否大于预设阈值,若是,根据预设纠错特性表项查找对应的指定填充码字块,并将所述加密码字填充至所述指定填充码字块中;否则,将所述加密码字填充至最后一个数据码字块中。
6.一种二维码识别装置,其特征在于,所述装置包括:
二维码信息读取模块,用于读取并解析加密后的二维码信息;所述加密后的二维码信息是采用如权利要求1~3任一所述的方法生成的;
纠错码块确定模块,用于确定纠错码字块数;
码字恢复模块,用于根据与纠错码字块数对应的数据恢复方式对所述二维码信息进行数据码字以及加密码字的恢复;
输入信息获取模块,用于对所述加密码字进行安全校验,并在所述加密码字通过安全验证后获取输入信息;
所述码字恢复模块具体用于,判断所述纠错码字块数是否大于预设阈值,若是,根据预设纠错特性表项查找对应的指定填充码字块,并通过译码算法获取所述指定填充码字块中的加密码字;否则,通过译码算法获取最后一个数据码字块中的所述加密码字。
7.一种电子设备,其特征在于,包括:
处理器;以及
存储器,所述存储器上存储有计算机可读指令,所述计算机可读指令被所述处理器执行时实现根据权利要求1至4中任一项所述的方法。
8.一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现根据权利要求1至4中任一项所述方法。
Priority Applications (5)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810123416.0A CN110119643B (zh) | 2018-02-07 | 2018-02-07 | 二维码生成方法及装置、二维码识别方法及装置 |
JP2020540589A JP2021513141A (ja) | 2018-02-07 | 2018-12-10 | 2次元バーコードの生成及び識別 |
US16/967,128 US11263416B2 (en) | 2018-02-07 | 2018-12-10 | Two-dimensional code generation and identification |
CA3090716A CA3090716A1 (en) | 2018-02-07 | 2018-12-10 | Two-dimensional code generation and identification |
PCT/CN2018/119983 WO2019153867A1 (zh) | 2018-02-07 | 2018-12-10 | 二维码生成及识别 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810123416.0A CN110119643B (zh) | 2018-02-07 | 2018-02-07 | 二维码生成方法及装置、二维码识别方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110119643A CN110119643A (zh) | 2019-08-13 |
CN110119643B true CN110119643B (zh) | 2020-11-03 |
Family
ID=67520118
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201810123416.0A Active CN110119643B (zh) | 2018-02-07 | 2018-02-07 | 二维码生成方法及装置、二维码识别方法及装置 |
Country Status (5)
Country | Link |
---|---|
US (1) | US11263416B2 (zh) |
JP (1) | JP2021513141A (zh) |
CN (1) | CN110119643B (zh) |
CA (1) | CA3090716A1 (zh) |
WO (1) | WO2019153867A1 (zh) |
Families Citing this family (19)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11010233B1 (en) | 2018-01-18 | 2021-05-18 | Pure Storage, Inc | Hardware-based system monitoring |
US11341236B2 (en) | 2019-11-22 | 2022-05-24 | Pure Storage, Inc. | Traffic-based detection of a security threat to a storage system |
US11520907B1 (en) * | 2019-11-22 | 2022-12-06 | Pure Storage, Inc. | Storage system snapshot retention based on encrypted data |
US11615185B2 (en) | 2019-11-22 | 2023-03-28 | Pure Storage, Inc. | Multi-layer security threat detection for a storage system |
US11755751B2 (en) | 2019-11-22 | 2023-09-12 | Pure Storage, Inc. | Modify access restrictions in response to a possible attack against data stored by a storage system |
US20210382992A1 (en) * | 2019-11-22 | 2021-12-09 | Pure Storage, Inc. | Remote Analysis of Potentially Corrupt Data Written to a Storage System |
US11687418B2 (en) | 2019-11-22 | 2023-06-27 | Pure Storage, Inc. | Automatic generation of recovery plans specific to individual storage elements |
US11651075B2 (en) | 2019-11-22 | 2023-05-16 | Pure Storage, Inc. | Extensible attack monitoring by a storage system |
US11720692B2 (en) | 2019-11-22 | 2023-08-08 | Pure Storage, Inc. | Hardware token based management of recovery datasets for a storage system |
US11675898B2 (en) * | 2019-11-22 | 2023-06-13 | Pure Storage, Inc. | Recovery dataset management for security threat monitoring |
US11645162B2 (en) | 2019-11-22 | 2023-05-09 | Pure Storage, Inc. | Recovery point determination for data restoration in a storage system |
US11500788B2 (en) | 2019-11-22 | 2022-11-15 | Pure Storage, Inc. | Logical address based authorization of operations with respect to a storage system |
US11720714B2 (en) | 2019-11-22 | 2023-08-08 | Pure Storage, Inc. | Inter-I/O relationship based detection of a security threat to a storage system |
US11941116B2 (en) * | 2019-11-22 | 2024-03-26 | Pure Storage, Inc. | Ransomware-based data protection parameter modification |
US11625481B2 (en) | 2019-11-22 | 2023-04-11 | Pure Storage, Inc. | Selective throttling of operations potentially related to a security threat to a storage system |
US11657155B2 (en) | 2019-11-22 | 2023-05-23 | Pure Storage, Inc | Snapshot delta metric based determination of a possible ransomware attack against data maintained by a storage system |
CN110991589A (zh) * | 2019-12-09 | 2020-04-10 | 李蕴光 | 一种二维码及其加密方法 |
CN111461279A (zh) * | 2020-04-01 | 2020-07-28 | 张晓鸿 | 多功能载体一字码结构及其使用方法 |
CN112069543B (zh) * | 2020-09-15 | 2021-06-18 | 广州市微柏软件股份有限公司 | 一种基于大数据的档案智能分析管理*** |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103778453A (zh) * | 2014-01-18 | 2014-05-07 | 谭洪舟 | 一种基于容错机制的可写二维条码及其生成方法 |
CN104376356A (zh) * | 2014-12-02 | 2015-02-25 | 合肥城市云数据中心有限公司 | 一种带有加密功能的二维码生成方法 |
JP2015212934A (ja) * | 2014-04-14 | 2015-11-26 | 株式会社テララコード研究所 | 二次元コード、多値化二次元コード及び二次元コードの生成方法 |
CN105825257A (zh) * | 2016-03-09 | 2016-08-03 | 东北大学 | 基于二维条码的信息隐藏与隐藏信息提取方法及*** |
CN106156820A (zh) * | 2015-03-25 | 2016-11-23 | 北大方正集团有限公司 | 二维码生成方法及装置 |
CN107395581A (zh) * | 2017-07-11 | 2017-11-24 | 上海众人网络安全技术有限公司 | 二维码生成及读取方法、装置、***、设备和存储介质 |
Family Cites Families (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP3541731B2 (ja) * | 1999-06-18 | 2004-07-14 | 株式会社デンソー | 偽造判定方法、偽造判定装置及び記録媒体 |
US7391917B2 (en) * | 2003-02-13 | 2008-06-24 | Canon Kabushiki Kaisha | Image processing method |
JP4181892B2 (ja) * | 2003-02-21 | 2008-11-19 | キヤノン株式会社 | 画像処理方法 |
JP3796500B2 (ja) * | 2003-11-21 | 2006-07-12 | キヤノン株式会社 | 画像処理装置及びその制御方法、プログラム |
JP4510535B2 (ja) * | 2004-06-24 | 2010-07-28 | キヤノン株式会社 | 画像処理装置及びその制御方法、プログラム |
CN102034127A (zh) | 2009-09-28 | 2011-04-27 | 上海易悠通信息科技有限公司 | 新型大容量二维条码与***及其编解码方法和应用 |
CN102118710A (zh) | 2011-03-08 | 2011-07-06 | 上海红松信息技术有限公司 | 手机终端之间数据传输***及其传输方法 |
WO2015064334A1 (ja) * | 2013-10-30 | 2015-05-07 | 株式会社トッパンTdkレーベル | 二次元コード生成方法、二次元コード生成装置、二次元コード読み取り方法、二次元コード読み取り装置、二次元コード、および、プログラム |
CN104618334A (zh) | 2014-12-29 | 2015-05-13 | 通邮(中国)科技有限公司 | 动态二维码生成验证方法及*** |
CN106529633B (zh) | 2015-09-10 | 2019-11-15 | 阿里巴巴集团控股有限公司 | 二维码的生成方法、解码方法以及装置 |
CN106651734A (zh) | 2015-10-30 | 2017-05-10 | 重庆邮电大学 | 二值二维码图像加密、解密的方法和装置 |
CN106296170A (zh) | 2016-07-28 | 2017-01-04 | 北京小米移动软件有限公司 | 二维码付款的方法、装置及*** |
CN108345925A (zh) * | 2017-01-24 | 2018-07-31 | 北京大码技术有限公司 | 复合型二维码的生成、识读方法及装置 |
CN107067056A (zh) | 2017-02-14 | 2017-08-18 | 阿里巴巴集团控股有限公司 | 二维码生成方法及其设备和二维码识别方法及其设备 |
CN107169395A (zh) | 2017-06-20 | 2017-09-15 | 重庆大学 | 一种更加安全的qr码生成及读取方法 |
-
2018
- 2018-02-07 CN CN201810123416.0A patent/CN110119643B/zh active Active
- 2018-12-10 CA CA3090716A patent/CA3090716A1/en not_active Abandoned
- 2018-12-10 JP JP2020540589A patent/JP2021513141A/ja active Pending
- 2018-12-10 US US16/967,128 patent/US11263416B2/en active Active
- 2018-12-10 WO PCT/CN2018/119983 patent/WO2019153867A1/zh active Application Filing
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103778453A (zh) * | 2014-01-18 | 2014-05-07 | 谭洪舟 | 一种基于容错机制的可写二维条码及其生成方法 |
JP2015212934A (ja) * | 2014-04-14 | 2015-11-26 | 株式会社テララコード研究所 | 二次元コード、多値化二次元コード及び二次元コードの生成方法 |
CN104376356A (zh) * | 2014-12-02 | 2015-02-25 | 合肥城市云数据中心有限公司 | 一种带有加密功能的二维码生成方法 |
CN106156820A (zh) * | 2015-03-25 | 2016-11-23 | 北大方正集团有限公司 | 二维码生成方法及装置 |
CN105825257A (zh) * | 2016-03-09 | 2016-08-03 | 东北大学 | 基于二维条码的信息隐藏与隐藏信息提取方法及*** |
CN107395581A (zh) * | 2017-07-11 | 2017-11-24 | 上海众人网络安全技术有限公司 | 二维码生成及读取方法、装置、***、设备和存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN110119643A (zh) | 2019-08-13 |
WO2019153867A1 (zh) | 2019-08-15 |
JP2021513141A (ja) | 2021-05-20 |
US11263416B2 (en) | 2022-03-01 |
CA3090716A1 (en) | 2019-08-15 |
US20200364429A1 (en) | 2020-11-19 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110119643B (zh) | 二维码生成方法及装置、二维码识别方法及装置 | |
US10637879B2 (en) | Systems and methods for detection and mitigation of malicious encryption | |
CN107612683B (zh) | 一种加解密方法、装置、***、设备和存储介质 | |
CN110084599B (zh) | 密钥处理方法、装置、设备和存储介质 | |
CN110196718B (zh) | 脚本混淆方法 | |
CN108632020B (zh) | 数据发送方法、接收方法及装置 | |
CN110661814A (zh) | 一种投标文件加解密方法、装置、设备和介质 | |
CN111242462B (zh) | 数据处理方法及装置、计算机存储介质、电子设备 | |
CN111193725B (zh) | 一种基于配置的联合登录方法、装置和计算机设备 | |
CN108681760B (zh) | 数据发送方法、接收方法及装置 | |
CN112202794A (zh) | 交易数据的保护方法、装置、电子设备和介质 | |
CN114615031A (zh) | 文件存储方法、装置、电子设备及存储介质 | |
CN110545542A (zh) | 基于非对称加密算法的主控密钥下载方法、装置和计算机设备 | |
CN113268453A (zh) | 日志信息压缩存储方法及装置 | |
CN112883397B (zh) | 数据存储方法、数据读取方法、装置、设备及存储介质 | |
CN112559497B (zh) | 一种数据处理方法、一种信息传输方法、装置及电子设备 | |
US8966254B2 (en) | Keyless challenge and response system | |
CN110517045B (zh) | 区块链数据处理方法、装置、设备和存储介质 | |
CN110991591A (zh) | 二维码的编解码方法、装置、编码设备和解码设备 | |
US11050437B1 (en) | Implementation of invertible functions using party logic | |
US11816242B2 (en) | Log compression and obfuscation using embeddings | |
CN113282662B (zh) | 区块信息处理方法、装置、设备及介质 | |
CN114500541B (zh) | 一种多路检验运算去冗余的云计算*** | |
CN110311784B (zh) | 一种json报文签名方法、验签方法及装置 | |
Kim et al. | Design of an efficient image protection method based on QR code |
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 |