WO2019153867A1 - 二维码生成及识别 - Google Patents
二维码生成及识别 Download PDFInfo
- Publication number
- WO2019153867A1 WO2019153867A1 PCT/CN2018/119983 CN2018119983W WO2019153867A1 WO 2019153867 A1 WO2019153867 A1 WO 2019153867A1 CN 2018119983 W CN2018119983 W CN 2018119983W WO 2019153867 A1 WO2019153867 A1 WO 2019153867A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- error correction
- sequence
- dimensional code
- data
- code
- Prior art date
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
Definitions
- the present disclosure relates to the field of computer technology, and in particular to the generation and identification of two-dimensional codes.
- QR codes are widely used in various fields due to their simple and convenient features.
- QR code has become a new channel for mobile terminals to be infected with viruses.
- the cases of user information leakage and property loss are numerous, so the security of the two-dimensional code in the application has great hidden dangers.
- An object of the present disclosure is to provide a two-dimensional code generation method, a two-dimensional code generation device, a two-dimensional code recognition method, a two-dimensional code recognition device, an electronic device, and a computer-readable storage medium.
- a method for generating a two-dimensional code includes: generating a data codeword sequence according to input information; performing encryption processing on the data codeword sequence to generate a codeword sequence; and determining an error correction code block And generating a two-dimensional code by using the data codeword sequence and the encrypted codeword sequence according to a configuration corresponding to the number of the error correction blocks.
- encrypting the sequence of data codewords to generate a sequence of cryptographic words includes: generating a key corresponding to the sequence of data codewords according to a key management system; utilizing The key is encrypted according to an encryption algorithm, and the encrypted data codeword sequence is converted into the encrypted password sequence according to a preset encoding algorithm.
- determining the number of the error correction blocks includes: acquiring a length of the data codeword sequence and an error correction level; according to a length of the data codeword sequence and an error correction level Find the number of corresponding error correction blocks in the preset error correction feature table.
- generating the two-dimensional code by using the data codeword sequence and the encrypted code sequence according to a configuration corresponding to the number of the error correction blocks includes: determining the Whether the number of the error correction blocks is greater than a preset threshold, if yes, searching for a corresponding error correction block according to the preset error correction characteristic entry, and filling the sequence of the encryption code into the corresponding error correction block; otherwise, The sequence of cryptographic words is filled into the last data codeword block constituting the two-dimensional code.
- a method for recognizing a two-dimensional code includes: reading and parsing an encrypted two-dimensional code; acquiring an error correction block; recovering according to a data recovery manner corresponding to the number of error correction code blocks a sequence of data codewords of the two-dimensional code and a sequence of cryptographic words; performing security verification on the sequence of cryptographic words, and obtaining input information after the sequence of cryptographic words passes security verification.
- the restoring the data codeword sequence of the two-dimensional code and the encryption code sequence according to a data recovery manner corresponding to the number of error correction code blocks includes: determining the correction Whether the number of the wrong block is greater than a preset threshold, if yes, searching for a corresponding error correction block according to the preset error correction characteristic entry, and acquiring a sequence of the encrypted code in the error correction block by using a decoding algorithm; The algorithm obtains the sequence of cryptographic words in the last data codeword block that constitutes the two-dimensional code.
- a two-dimensional code generating apparatus includes: a data codeword generating module, configured to generate a data codeword sequence according to the input information; and a password generating module, configured to use the data codeword sequence Performing an encryption process to generate a sequence of cryptographic words; an error correction code block determining module for determining the number of error correction code blocks; and a two-dimensional code information generating module for constructing according to the number of error correction code blocks The method generates the two-dimensional code by using the data codeword sequence and the encrypted code sequence.
- a two-dimensional code identification apparatus includes: a two-dimensional code information reading module for reading and parsing an encrypted two-dimensional code; and an error correction code block determining module for determining a correction a codeword recovery module, configured to recover a data codeword sequence and a codeword sequence of the two-dimensional code according to a data recovery manner corresponding to the number of error correction blocks; and input an information acquisition module, configured to The encryption code sequence is described for security verification, and the input information is obtained after the encrypted password sequence passes security verification.
- an electronic device comprising: a processor; and a storage medium storing machine readable instructions on which the machine readable instructions are implemented by the processor.
- a computer readable storage medium having stored thereon a computer program, the computer program being executed by a processor, implements the method according to any one of the above.
- the two-dimensional code generating method in the exemplary embodiment of the present disclosure generates a data codeword sequence according to the input information, and performs encryption processing on the data codeword sequence to generate a coded word sequence, and determines the number of error correction blocks. Then, the data codeword sequence and the encrypted codeword sequence are generated into a two-dimensional code according to a configuration corresponding to the number of error correction blocks.
- the data code word sequence can be encrypted, the data content can be prevented from being tampered, and the security of the two-dimensional code can be improved; on the other hand, the data is constructed according to the configuration corresponding to the number of error correction blocks.
- the code word sequence and the encrypted code word sequence generate two-dimensional code information, and the complete filling of the encrypted code word sequence can also be completed with higher efficiency.
- FIG. 1 illustrates a flow chart of a two-dimensional code generation method according to an exemplary embodiment of the present disclosure.
- FIG. 2 illustrates a flow chart of a two-dimensional code recognition method according to an exemplary embodiment of the present disclosure.
- FIG. 3 shows a schematic block diagram of a two-dimensional code generating device according to an exemplary embodiment of the present disclosure.
- FIG. 4 shows a schematic block diagram of a two-dimensional code recognition apparatus according to an exemplary embodiment of the present disclosure.
- FIG. 5 schematically illustrates a block diagram of an electronic device in accordance with an exemplary embodiment of the present disclosure.
- FIG. 6 schematically illustrates a schematic diagram of a computer readable storage medium in accordance with an exemplary embodiment of the present disclosure.
- a two-dimensional code generation method is first provided, which can be applied to a network device; for example, the network device can be an electronic device such as a server.
- the two-dimensional code generating method may include the following steps.
- Step S110 Generate a data codeword sequence according to the input information.
- Step S120 Perform encryption processing on the data codeword sequence to generate a codeword sequence.
- Step S130 Determine the number of error correction blocks.
- Step S140 Generate the two-dimensional code information by using the data codeword sequence and the encrypted codeword sequence according to a configuration manner corresponding to the number of the error correction blocks.
- the data code word sequence can be encrypted, the data content can be prevented from being tampered, and the security of the two-dimensional code can be improved;
- the construction method corresponding to the number of error correction blocks generates the two-dimensional code information by the data code word sequence and the encryption code sequence, and the complete filling of the encryption code sequence can be completed with higher efficiency.
- step S110 a sequence of data codewords may be generated based on the input information.
- the input information is the input data stream, which is information that needs to generate a two-dimensional code.
- the input information is first analyzed, its length is determined, and the format and version of the corresponding two-dimensional code are determined according to the length of the input information.
- the format of the two-dimensional code includes information such as an error correction level, a mask number, and an error correction code.
- the version of the two-dimensional code may have multiple versions, and each version represents Inherent symbol structure. Since the mask number can be obtained subsequently in the mask operation, the mask number at this time can be empty.
- an RS code data code corresponding to the input information may be generated by an algorithm such as Reed-Solomon Error Correction (RS). Word sequence.
- RS Reed-Solomon Error Correction
- step S120 the data codeword sequence is subjected to encryption processing to generate a codeword sequence.
- the step may include: generating a key corresponding to the data codeword sequence according to the key management system, and encrypting the data codeword sequence according to an encryption algorithm by using the generated key;
- the data codeword sequence is converted to the encrypted codeword sequence according to a preset encoding algorithm.
- generating the key corresponding to the RS code data codeword sequence according to the key management system may include: inputting the RS code data codeword sequence to the key management a system to generate a key corresponding to the RS code data codeword sequence.
- the code symbol corresponding to the RS code data codeword sequence may be generated, and a key corresponding to the code symbol may be generated by inputting the code symbol to the key management system.
- the key generation rules of different key management systems are different, different key management systems generate keys in different ways, so that the RS code data generated by different key management systems is generated.
- the key corresponding to the codeword sequence may also be different.
- the present disclosure has no particular limitation on the key management system and the key generation rules.
- the data codeword sequence can be encrypted by the encryption algorithm using the key. Then, the encrypted data codeword sequence is subjected to finite field conversion, and then encoded by an algorithm such as RS error correction coding to obtain a securely encrypted RS code plus ciphertext sequence.
- the encryption algorithm may be a DES (Data Encryption Standard) encryption algorithm, an AES (Advanced Encryption Standard) encryption algorithm, or the like, which is not specifically limited in this disclosure.
- step S130 the number of error correction blocks is determined.
- the step may include: acquiring a length of the data codeword sequence (eg, represented by a number of codewords) and an error correction level; according to the length of the data codeword sequence and the error correction level. Find the number of error correction blocks in the preset error correction feature table.
- the preset error correction characteristic entry may be preset according to information such as the length of the data codeword sequence and the error correction level, for example, as shown in the following table:
- Table 1 shows a preset error correction characteristic entry, which is only used to further understand the examples of the present disclosure, and is not used to limit the specific content in the preset error correction characteristic table.
- the preset error correction characteristic table item is preset with a version, a total number of codewords, an error correction level, a corresponding number of error correction blocks, and a correspondence relationship between error correction codes of each error correction block.
- the corresponding error correction can be found in Table 1 according to the length of the RS code data codeword sequence (ie, the total number of codewords in the sequence), the predetermined version number, and the error correction level. The number of blocks.
- step S140 the data codeword sequence and the encrypted codeword sequence are generated into two-dimensional code information according to a configuration manner corresponding to the number of error correction blocks.
- the step may include: determining whether the number of the error correction blocks is greater than a preset threshold, and if so, searching for a corresponding specified error correction block according to the preset error correction characteristic entry, and adding the A sequence of cipher words is filled into the error correction block; otherwise, the sequence of cipher words is padded into the last block of data code words constituting the two-dimensional code.
- the configuration may include a block crossover configuration and a supplementary configuration.
- the preset threshold may be set to 1. If the number of the error correction blocks is greater than 1, the block crossover construction mode is adopted. If the number of wrong blocks is less than or equal to 1, the supplementary construction mode is adopted. For example:
- the error correction level is Q
- the data length of the data codeword sequence is 70
- the number of corresponding error correction blocks can be found in Table 1. Since the number 2 of the error correction blocks is greater than the preset threshold 1, the final information may be constructed by using a block crossover construction manner, that is, each of the lookup table 1 corresponding to the error correction level Q, the data length 70, and the version number 3.
- the error correction code (35, 17, 9) of the error block is filled, and the RS code plus cipher word sequence is filled into the complement bits in each error correction block (35, 17, 9), thereby constructing the final information.
- the version is determined to be 2 in step S110, the error correction level is Q, and the data length of the data codeword sequence is 44, then the number of corresponding error correction blocks can be found in Table 1. Since the number of the error correction block is equal to the preset threshold 1, the final information can be constructed using a supplementary configuration, that is, the coded word sequence is filled to the complement of the last data code block constituting the two-dimensional code. In this, the final information is constructed.
- the length of the cipher-word sequence may be determined according to the configuration manner corresponding to the number of error-correcting blocks before generating the cipher-word sequence.
- the length of the cryptographic word sequence is controlled to be less than or equal to the number of padding bits that can be filled in the error correction block of the corresponding configuration, so that the cryptographic word sequence can be completely filled into the error correction block.
- the final information is arranged in the matrix, and the selected mask pattern is added, the mask serial number information in the format is supplemented according to the selected mask pattern, and finally, the format and version information are added to generate two Dimension code (ie QR code symbol).
- the present embodiment further provides a two-dimensional code identification method, which can be applied to a terminal device.
- the terminal device can be, for example, a mobile phone, a computer, a PDA, or the like, and has various electronic devices with a two-dimensional code scanning function.
- the two-dimensional code recognition method may include the following steps.
- Step S210 Read and parse the encrypted two-dimensional code.
- reading and parsing the encrypted two-dimensional code includes: scanning and reading the encrypted two-dimensional code by using an electronic device, parsing the deep and shallow module in the two-dimensional code, performing format information decoding, and acquiring the two-dimensional code The length of the data codeword sequence in the data, and eliminate the added mask pattern to determine the version and format information, and then obtain information such as error correction level, mask number, and error correction code.
- Step S220 Determine the number of error correction blocks.
- step S130 For the manner of determining the number of error correction blocks in this step, reference may be made to the method for determining the number of error correction blocks in step S130, and details are not described herein again.
- Step S230 Restore the data codeword sequence and the encryption code sequence of the two-dimensional code according to the data recovery manner corresponding to the number of error correction blocks.
- Recovering the data codeword sequence of the two-dimensional code and the encryption code sequence according to the data recovery manner corresponding to the number of error correction blocks includes: determining whether the number of the error correction blocks is greater than a preset threshold, and if so, according to preset correction The error characteristic entry is searched for the corresponding padding block corresponding to the padding, and the coded word sequence in the error correction block is obtained by the decoding algorithm; otherwise, the last data code constituting the two-dimensional code is obtained by the decoding algorithm. The sequence of cryptographic words in the block.
- the preset threshold in this step may be the same as the preset threshold in the foregoing step S140.
- the data recovery manner corresponding to the number of error correction blocks may include a block recovery data mode and a segmentation recovery. Data method.
- the block recovery data mode is adopted. If the number of the error correction blocks is not greater than (less than or equal to) the preset threshold, the segmentation recovery data mode is adopted.
- the error correction level is Q
- the data length is 70
- the number of corresponding error correction blocks is 2 in the preset error correction characteristic entry (Table 1)
- the data code word sequence and the encryption code word sequence may be recovered by using the block recovery data mode, that is, each block corresponding to the error correction level and the data length in the lookup table 1 is obtained.
- An error correcting code from which an error correcting code (35, 17, 9) of the corresponding error correcting block is found, and sequentially obtains an RS code plus a cipher word sequence from the complementary bits in the error correcting block (35, 17, 9), This recovers the RS code data codeword sequence and the RS code plus password sequence; however, if it is determined that the number of error correction blocks is 1, since the number of error correction blocks is equal to the preset threshold 1, then segmentation recovery can be used.
- the data mode recovers the RS code plus cipher word sequence, that is, obtains the filled RS code plus cipher word sequence from the supplementary bits of the last data code word block constituting the two-dimensional code, thereby recovering the RS code data code word sequence and RS code plus password word sequence.
- Step S240 Perform a security check on the encrypted code sequence, and obtain input information after the encrypted password sequence passes security verification.
- the security check is performed on the sequence of the encrypted code, including: after acquiring the RS code plus the password sequence, first performing finite field conversion on the RS code plus the password sequence by using the RS code error correction decoding algorithm, and The cryptographic word sequence after the finite field conversion is decrypted according to the key management system to obtain a corresponding key. Then, the key can be verified.
- the manner of verifying the key may be different according to the key management system.
- the acquired key may be matched with the key obtained in step S120, or may be Matching the obtained key with the RS code data codeword sequence, if it is determined that the two match, it is determined that the original input information in the two-dimensional code symbol can be restored through the security check; if it is determined that the two do not match, Or the obtained key is 0, indicating that the information may be tampered with, and if the security check is not passed, the original input information in the two-dimensional code symbol cannot be restored. It can be seen that the present disclosure can also check whether the two-dimensional code information has been tampered with the security verification of the two-dimensional code information, thereby ensuring the security of the two-dimensional code information in the actual application scenario.
- the two-dimensional code generating apparatus 300 may include a data codeword generating module 310, an encryption code generating module 320, an error correcting code block determining module 330, and a two-dimensional code generating module 340.
- the data codeword generating module 310 can be configured to generate a data codeword sequence according to the input information.
- the cryptographic word generation module 320 can be configured to perform encryption processing on the data codeword sequence to generate a cryptographic word sequence.
- the error correction code block determining module 330 can be used to determine the number of error correction blocks.
- the two-dimensional code generating module 340 is configured to generate the two-dimensional code by using the data codeword sequence and the encrypted codeword sequence according to a configuration manner corresponding to the number of the error correction blocks.
- the two-dimensional code recognition apparatus 400 may include a two-dimensional code reading module 410, an error correction code block determination module 420, a codeword recovery module 430, and an input information acquisition module 440.
- the two-dimensional code reading module 410 is configured to read and parse the encrypted two-dimensional code.
- the error correction code block determining module 420 is configured to determine the number of error correction blocks.
- the codeword recovery module 430 is configured to recover the data codeword sequence and the encryption code sequence of the two-dimensional code according to a data recovery manner corresponding to the number of error correction blocks.
- the input information obtaining module 440 is configured to perform security verification on the sequence of the encrypted passwords, and obtain the input information after the encrypted password sequence passes the security verification.
- modules or units of the two-dimensional code generating device 300 are mentioned in the above detailed description, such division is not mandatory. Indeed, in accordance with embodiments of the present disclosure, the features and functions of two or more modules or units described above may be embodied in one module or unit. Conversely, the features and functions of one of the modules or units described above may be further divided into multiple modules or units.
- an electronic device capable of implementing the above method is also provided.
- aspects of the present disclosure can be implemented as a system, method, or program product. Accordingly, aspects of the present disclosure may be embodied in the form of a complete hardware embodiment, a complete software embodiment (including firmware, microcode, etc.), or a combination of hardware and software aspects, which may be collectively referred to herein. "Circuit,” “module,” or “system.”
- FIG. 5 An electronic device 500 according to an embodiment of the present disclosure is described below with reference to FIG. 5.
- the electronic device 500 shown in FIG. 5 is merely an example and should not impose any limitation on the function and scope of use of the embodiments of the present disclosure.
- electronic device 500 is embodied in the form of a general purpose computing device.
- the components of the electronic device 500 may include, but are not limited to, the at least one processing unit 510, the at least one storage unit 520, the bus 530 connecting the different system components (including the storage unit 520 and the processing unit 510), and the display unit 540.
- the storage unit 520 stores machine executable instructions that can be executed by the processing unit 510 such that the processing unit 510 performs the according to the present description described in the "Exemplary Method" section of the present specification.
- the steps of various exemplary embodiments are invented.
- the processing unit 510 can perform steps S110 to S140 as shown in FIG. 1, and steps S210 to S240 as shown in FIG. 2.
- the storage unit 520 can include a readable medium in the form of a volatile storage unit, such as a random access storage unit (RAM) 5201 and/or a cache storage unit 5202, and can further include a read only storage unit (ROM) 5203.
- RAM random access storage unit
- ROM read only storage unit
- the storage unit 520 can also include an instruction/utility 5204 having a set (at least one) of the instruction modules 5205, such as, but not limited to, an operating system, one or more applications, other program modules, and program data, Implementations of the network environment may be included in each or some of these examples.
- an instruction/utility 5204 having a set (at least one) of the instruction modules 5205, such as, but not limited to, an operating system, one or more applications, other program modules, and program data, Implementations of the network environment may be included in each or some of these examples.
- Bus 530 may be representative of one or more of several types of bus structures, including a memory unit bus or memory unit controller, a peripheral bus, a graphics acceleration port, a processing unit, or a local area using any of a variety of bus structures. bus.
- the electronic device 500 can also communicate with one or more external devices 570 (eg, a keyboard, pointing device, Bluetooth device, etc.), and can also communicate with one or more devices that enable the user to interact with the electronic device 500, and/or with Any device (eg, router, modem, etc.) that enables the electronic device 500 to communicate with one or more other computing devices. This communication can take place via an input/output (I/O) interface 550. Also, electronic device 500 can communicate with one or more networks (e.g., a local area network (LAN), a wide area network (WAN), and/or a public network, such as the Internet) via network adapter 560. As shown, network adapter 560 communicates with other modules of electronic device 500 via bus 530.
- network adapter 560 communicates with other modules of electronic device 500 via bus 530.
- the exemplary embodiments described herein may be implemented by software, or may be implemented by software in combination with necessary hardware. Therefore, the technical solution according to an embodiment of the present disclosure may be embodied in the form of a software product, which may be stored in a non-volatile storage medium (which may be a CD-ROM, a USB flash drive, a mobile hard disk, etc.) or on a network.
- a non-volatile storage medium which may be a CD-ROM, a USB flash drive, a mobile hard disk, etc.
- a number of instructions are included to cause a computing device (which may be a personal computer, server, terminal device, or network device, etc.) to perform a method in accordance with an embodiment of the present disclosure.
- a computer readable storage medium having stored thereon a program product capable of implementing the above method of the present specification.
- various aspects of the present disclosure may also be embodied in the form of a program product comprising program code for causing said program product to run on a terminal device The terminal device performs the steps according to various exemplary embodiments of the present invention described in the "Exemplary Method" section of the present specification.
- a program product 600 for implementing the above method which may employ a portable compact disk read only memory (CD-ROM) and includes program code, and may be at a terminal device, is described in accordance with an embodiment of the present disclosure.
- CD-ROM portable compact disk read only memory
- the program product of the present disclosure is not limited thereto, and in this document, the readable storage medium may be any tangible medium that contains or stores a program that can be used by or in connection with an instruction execution system, apparatus, or device.
- the program product can employ any combination of one or more readable media.
- the readable medium can be a readable signal medium or a readable storage medium.
- the readable storage medium can be, for example, but not limited to, an electronic, magnetic, optical, electromagnetic, infrared, or semiconductor system, apparatus, or device, or any combination of the above. More specific examples (non-exhaustive lists) of readable storage media include: electrical connections with one or more wires, portable disks, hard disks, random access memory (RAM), read only memory (ROM), erasable Programmable read-only memory (EPROM or flash memory), optical fiber, portable compact disk read only memory (CD-ROM), optical storage device, magnetic storage device, or any suitable combination of the foregoing.
- the computer readable signal medium may include a data signal that is propagated in the baseband or as part of a carrier, carrying readable program code. Such propagated data signals can take a variety of forms including, but not limited to, electromagnetic signals, optical signals, or any suitable combination of the foregoing.
- the readable signal medium can also be any readable medium other than a readable storage medium that can transmit, propagate, or transport a program for use by or in connection with an instruction execution system, apparatus, or device.
- Program code embodied on a readable medium can be transmitted using any suitable medium, including but not limited to wireless, wireline, optical cable, RF, etc., or any suitable combination of the foregoing.
- Program code for performing the operations of the present disclosure may be written in any combination of one or more programming languages, including an object oriented programming language, such as Java, C++, etc., including conventional procedural Programming language—such as the "C" language or a similar programming language.
- the program code can execute entirely on the user computing device, partially on the user device, as a stand-alone software package, partially on the remote computing device on the user computing device, or entirely on the remote computing device or server. Execute on.
- the remote computing device can be connected to the user computing device via any kind of network, including a local area network (LAN) or wide area network (WAN), or can be connected to an external computing device (eg, provided using an Internet service) Businesses are connected via the Internet).
- LAN local area network
- WAN wide area network
- Businesses are connected via the Internet.
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- General Health & Medical Sciences (AREA)
- Electromagnetism (AREA)
- 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
Claims (10)
- 一种二维码生成方法,包括:根据输入信息生成数据码字序列;对所述数据码字序列进行加密处理,以生成加密码字序列;确定纠错块个数;根据与所述纠错块个数对应的构造方式,将所述数据码字序列以及所述加密码字序列生成二维码。
- 如权利要求1所述的方法,其特征在于,对所述数据码字序列进行加密,以生成所述加密码字序列,包括:根据密钥管理***生成与所述数据码字序列对应的密钥;利用所述密钥、根据加密算法对所述数据码字序列进行加密;将加密后的所述数据码字序列按照预设编码算法转换为所述加密码字序列。
- 如权利要求1所述的方法,其特征在于,确定所述纠错块个数,包括:获取所述数据码字序列的长度以及纠错等级;根据所述数据码字序列的长度以及所述纠错等级,在预设纠错特性表项中查找对应的纠错块个数。
- 如权利要求1所述的方法,其特征在于,根据与所述纠错块个数对应的构造方式,将所述数据码字序列以及所述加密码字序列生成二维码,包括:判断所述纠错块个数是否大于预设阈值,若是,根据预设纠错特性表项查找对应的纠错块,并将所述加密码字序列填充至所述对应的纠错块中;否则,将所述加密码字序列填充至构成所述二维码的最后一个数据码字块中。
- 一种二维码识别方法,包括:读取并解析加密后的二维码;获取纠错块个数;根据与纠错块个数对应的数据恢复方式恢复所述二维码的数据码字序列以及加密码字序列;对所述加密码字序列进行安全校验,并在所述加密码字序列通过安全验证后获取输入信息。
- 如权利要求5所述的方法,其特征在于,所述根据与纠错块个数对应的数据恢复方式恢复所述二维码的数据码字序列以及加密码字序列,包括:判断所述纠错块个数是否大于预设阈值,若是,根据预设纠错特性表项查找对应的纠错块,并通过译码算法获取所述对应的纠错块中的加密码字序列;否则,通过译码算法获取构成所述二维码的最后一个数据码字块中的所述加密码字序列。
- 一种二维码生成装置,包括:数据码字生成模块,用于根据输入信息生成数据码字序列;加密码字生成模块,用于将所述数据码字序列进行加密处理,以生成加密码字序列;纠错码块确定模块,用于确定纠错块个数;二维码信息生成模块,用于根据与所述纠错块个数对应的构造方式将所述数据码字序列以及所述加密码字序列生成二维码。
- 一种二维码识别装置,包括:二维码信息读取模块,用于读取并解析加密后的二维码;纠错码块确定模块,用于确定纠错块个数;码字恢复模块,用于根据与纠错块个数对应的数据恢复方式恢复所述二维码的数据码字序列以及加密码字序列;输入信息获取模块,用于对所述加密码字序列进行安全校验,并在所述加密码字序列通过安全验证后获取输入信息。
- 一种电子设备,包括:处理器;以及存储介质,所述存储介质上存储有机器可读指令,所述机器可读指令被所述处理器执行时实现根据权利要求1至6中任一项所述的方法。
- 一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现根据权利要求1至6中任一项所述方法。
Priority Applications (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CA3090716A CA3090716A1 (en) | 2018-02-07 | 2018-12-10 | Two-dimensional code generation and identification |
US16/967,128 US11263416B2 (en) | 2018-02-07 | 2018-12-10 | Two-dimensional code generation and identification |
JP2020540589A JP2021513141A (ja) | 2018-02-07 | 2018-12-10 | 2次元バーコードの生成及び識別 |
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810123416.0A CN110119643B (zh) | 2018-02-07 | 2018-02-07 | 二维码生成方法及装置、二维码识别方法及装置 |
CN201810123416.0 | 2018-02-07 |
Publications (1)
Publication Number | Publication Date |
---|---|
WO2019153867A1 true WO2019153867A1 (zh) | 2019-08-15 |
Family
ID=67520118
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
PCT/CN2018/119983 WO2019153867A1 (zh) | 2018-02-07 | 2018-12-10 | 二维码生成及识别 |
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 |
US11941116B2 (en) * | 2019-11-22 | 2024-03-26 | Pure Storage, Inc. | Ransomware-based data protection parameter modification |
US11651075B2 (en) | 2019-11-22 | 2023-05-16 | Pure Storage, Inc. | Extensible attack monitoring by a storage system |
US11675898B2 (en) * | 2019-11-22 | 2023-06-13 | Pure Storage, Inc. | Recovery dataset management for security threat monitoring |
US11720692B2 (en) | 2019-11-22 | 2023-08-08 | Pure Storage, Inc. | Hardware token based management of recovery datasets for 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 |
US11645162B2 (en) | 2019-11-22 | 2023-05-09 | Pure Storage, Inc. | Recovery point determination for data restoration in 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 |
US11615185B2 (en) | 2019-11-22 | 2023-03-28 | Pure Storage, Inc. | Multi-layer security threat detection for a storage system |
US11520907B1 (en) * | 2019-11-22 | 2022-12-06 | Pure Storage, Inc. | Storage system snapshot retention based on encrypted data |
US11500788B2 (en) | 2019-11-22 | 2022-11-15 | Pure Storage, Inc. | Logical address based authorization of operations with respect 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 |
US11341236B2 (en) | 2019-11-22 | 2022-05-24 | Pure Storage, Inc. | Traffic-based detection of a security threat 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 |
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 |
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 |
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 (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102034127A (zh) * | 2009-09-28 | 2011-04-27 | 上海易悠通信息科技有限公司 | 新型大容量二维条码与***及其编解码方法和应用 |
CN103778453A (zh) * | 2014-01-18 | 2014-05-07 | 谭洪舟 | 一种基于容错机制的可写二维条码及其生成方法 |
CN104376356A (zh) * | 2014-12-02 | 2015-02-25 | 合肥城市云数据中心有限公司 | 一种带有加密功能的二维码生成方法 |
CN107169395A (zh) * | 2017-06-20 | 2017-09-15 | 重庆大学 | 一种更加安全的qr码生成及读取方法 |
Family Cites Families (17)
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 | キヤノン株式会社 | 画像処理装置及びその制御方法、プログラム |
CN102118710A (zh) | 2011-03-08 | 2011-07-06 | 上海红松信息技术有限公司 | 手机终端之间数据传输***及其传输方法 |
US9858518B2 (en) * | 2013-10-30 | 2018-01-02 | Toppan Tdk Label Co., Ltd. | Method for generating two-dimensional barcode, device for generating two-dimensional barcode, method for reading two-dimensional barcode, device for reading two-dimensional barcode, two-dimensional barcode, and program |
JP6489464B2 (ja) * | 2014-04-14 | 2019-03-27 | 株式会社テララコード研究所 | 光学コード、情報伝達方法、及び認証方法 |
CN104618334A (zh) | 2014-12-29 | 2015-05-13 | 通邮(中国)科技有限公司 | 动态二维码生成验证方法及*** |
CN106156820B (zh) * | 2015-03-25 | 2019-04-19 | 北大方正集团有限公司 | 二维码生成方法及装置 |
CN106529633B (zh) | 2015-09-10 | 2019-11-15 | 阿里巴巴集团控股有限公司 | 二维码的生成方法、解码方法以及装置 |
CN106651734A (zh) | 2015-10-30 | 2017-05-10 | 重庆邮电大学 | 二值二维码图像加密、解密的方法和装置 |
CN105825257B (zh) * | 2016-03-09 | 2018-05-29 | 东北大学 | 基于二维条码的信息隐藏与隐藏信息提取方法及*** |
CN106296170A (zh) | 2016-07-28 | 2017-01-04 | 北京小米移动软件有限公司 | 二维码付款的方法、装置及*** |
CN108345925A (zh) * | 2017-01-24 | 2018-07-31 | 北京大码技术有限公司 | 复合型二维码的生成、识读方法及装置 |
CN107067056A (zh) * | 2017-02-14 | 2017-08-18 | 阿里巴巴集团控股有限公司 | 二维码生成方法及其设备和二维码识别方法及其设备 |
CN107395581B (zh) * | 2017-07-11 | 2020-11-17 | 上海众人网络安全技术有限公司 | 二维码生成及读取方法、装置、***、设备和存储介质 |
-
2018
- 2018-02-07 CN CN201810123416.0A patent/CN110119643B/zh active Active
- 2018-12-10 JP JP2020540589A patent/JP2021513141A/ja active Pending
- 2018-12-10 WO PCT/CN2018/119983 patent/WO2019153867A1/zh active Application Filing
- 2018-12-10 CA CA3090716A patent/CA3090716A1/en not_active Abandoned
- 2018-12-10 US US16/967,128 patent/US11263416B2/en active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102034127A (zh) * | 2009-09-28 | 2011-04-27 | 上海易悠通信息科技有限公司 | 新型大容量二维条码与***及其编解码方法和应用 |
CN103778453A (zh) * | 2014-01-18 | 2014-05-07 | 谭洪舟 | 一种基于容错机制的可写二维条码及其生成方法 |
CN104376356A (zh) * | 2014-12-02 | 2015-02-25 | 合肥城市云数据中心有限公司 | 一种带有加密功能的二维码生成方法 |
CN107169395A (zh) * | 2017-06-20 | 2017-09-15 | 重庆大学 | 一种更加安全的qr码生成及读取方法 |
Also Published As
Publication number | Publication date |
---|---|
CN110119643A (zh) | 2019-08-13 |
US20200364429A1 (en) | 2020-11-19 |
CN110119643B (zh) | 2020-11-03 |
CA3090716A1 (en) | 2019-08-15 |
JP2021513141A (ja) | 2021-05-20 |
US11263416B2 (en) | 2022-03-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
WO2019153867A1 (zh) | 二维码生成及识别 | |
US8862897B2 (en) | Increasing data security in enterprise applications by using formatting, checksums, and encryption to detect tampering of a data buffer | |
US8689087B2 (en) | Method and entity for probabilistic symmetrical encryption | |
US20180253559A1 (en) | Secured lossless data compression using encrypted headers | |
JP5510590B2 (ja) | 伝送システムと方法ならびにプログラム | |
CN105359155B (zh) | 使用压缩破坏口令攻击 | |
KR101852526B1 (ko) | 암호 파일을 관리하는 모바일 장치의 방법 및 그것을 포함하는 암호 파일 관리 시스템 | |
Guo et al. | Sca-ldpc: A code-based framework for key-recovery side-channel attacks on post-quantum encryption schemes | |
US10115323B2 (en) | Encrypted-data processing method, system, and apparatus | |
KR101894566B1 (ko) | 인증 및 오류 정정이 통합된 부호화가 가능한 데이터 전송 장치 및 방법 | |
CN116664123A (zh) | 一种基于区块链技术的数字钱包设计方法 | |
US9203607B2 (en) | Keyless challenge and response system | |
CN110517045B (zh) | 区块链数据处理方法、装置、设备和存储介质 | |
CN112613879A (zh) | 一种基于grs码的金融交易数据处理方法 | |
CN115935299A (zh) | 授权控制方法、装置、计算机设备和存储介质 | |
CN112613054A (zh) | 一种基于grs码的电子档案验证方法、装置、电子设备 | |
KR102425916B1 (ko) | 가변 길이 퍼지 데이터를 지원하는 격자 기반 퍼지 추출 장치 및 방법 | |
JP6780953B2 (ja) | 認証装置、認証方法及び認証プログラム | |
KR102398962B1 (ko) | 격자 기반 퍼지 추출 장치 및 방법 | |
US11816242B2 (en) | Log compression and obfuscation using embeddings | |
Abdul-Jabbar | Secure QR-code generation in healthcare | |
US20230370093A1 (en) | Error correcting codes for noisy channels | |
US11050437B1 (en) | Implementation of invertible functions using party logic | |
CN112633711A (zh) | 基于grs码的建筑招标文件加密方法、***及存储介质 | |
CN117009987A (zh) | 处理数字型字符串的方法、装置、存储介质及电子设备 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
121 | Ep: the epo has been informed by wipo that ep was designated in this application |
Ref document number: 18905262 Country of ref document: EP Kind code of ref document: A1 |
|
ENP | Entry into the national phase |
Ref document number: 2020540589 Country of ref document: JP Kind code of ref document: A |
|
ENP | Entry into the national phase |
Ref document number: 3090716 Country of ref document: CA |
|
NENP | Non-entry into the national phase |
Ref country code: DE |
|
122 | Ep: pct application non-entry in european phase |
Ref document number: 18905262 Country of ref document: EP Kind code of ref document: A1 |