CN109871930B - Method and device for issuing quality codes and verifying quality codes by block chain - Google Patents

Method and device for issuing quality codes and verifying quality codes by block chain Download PDF

Info

Publication number
CN109871930B
CN109871930B CN201910133271.7A CN201910133271A CN109871930B CN 109871930 B CN109871930 B CN 109871930B CN 201910133271 A CN201910133271 A CN 201910133271A CN 109871930 B CN109871930 B CN 109871930B
Authority
CN
China
Prior art keywords
code
quality
user
verification
quality code
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
Application number
CN201910133271.7A
Other languages
Chinese (zh)
Other versions
CN109871930A (en
Inventor
杨海勇
王伟兵
马岩堂
庞松涛
商广勇
李文博
赵树林
陶鑫
刘伟巍
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Shandong Inspur Quality Chain Technology Co Ltd
Original Assignee
Shandong Inspur Quality Chain Technology Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Shandong Inspur Quality Chain Technology Co Ltd filed Critical Shandong Inspur Quality Chain Technology Co Ltd
Priority to CN201910133271.7A priority Critical patent/CN109871930B/en
Publication of CN109871930A publication Critical patent/CN109871930A/en
Application granted granted Critical
Publication of CN109871930B publication Critical patent/CN109871930B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Abstract

The application discloses a method and a device for issuing and verifying quality codes for block chains, wherein the quality codes are determined through hash calculation, the uniqueness of the quality codes is ensured, sequential codes and a private key of a server are used as input of calculation, the safety of the quality codes is ensured (namely, a third party is difficult to crack), and a party (such as a product manufacturer) using quality code anti-counterfeiting stores a quality code signature in the block chains, and the validity of the quality codes is ensured by using the non-tamper property of the block chains and the signature of the self. And when the DOI corresponding to the quality code is used for anti-counterfeiting of the product, a user (such as a consumer) can verify whether the information contained in the DOI is true and valid through the quality code stored in the block chain.

Description

Method and device for issuing quality codes and verifying quality codes by block chain
Technical Field
The present application relates to the field of information technologies, and in particular, to a method and an apparatus for issuing a quality code and verifying the quality code using a block chain.
Background
At present, along with the development of social economy, the appearance of counterfeit and shoddy products is infinite, and the counterfeit and shoddy products become a very prominent problem for hindering the development of economy and society.
In the prior art, there are various methods for discriminating counterfeit products. One common method is to provide an anti-counterfeit label on a regular product so that a consumer can distinguish counterfeit products from counterfeit products by the anti-counterfeit label. The traditional anti-counterfeiting mark avoids the prevention and control of counterfeit products mainly by improving the manufacturing difficulty of the anti-counterfeiting mark. With the popularization of internet technology, manufacturers begin to provide Digital Object Unique Identifier (DOI) anti-counterfeiting marks on products, and the DOI used generally is a two-dimensional code, so that consumers can scan the two-dimensional code anti-counterfeiting marks to obtain corresponding product information to distinguish counterfeit products. That is, the anti-counterfeiting purpose is achieved by providing the consumer with product information for distinguishing counterfeit products.
However, in the method for distinguishing counterfeit products based on the acquired product information, the product information is usually stored in a server or a database, so that once a party storing the product information is attacked, the product information is easily tampered, and the product information acquired by a consumer is not real product information. Therefore, the existing method for verifying the two-dimensional code anti-counterfeiting mark has defects. Therefore, the present application provides a new method and apparatus for issuing quality codes and verifying quality codes by using a block chain.
Disclosure of Invention
The embodiment of the specification provides a method and a device for issuing a quality code and verifying the quality code by using a block chain, which are used for solving the problem that in the prior art, a method for distinguishing counterfeit and shoddy products by using acquired product information has defects because an acquisition channel and an acquisition process of the product information are easily attacked.
The embodiment of the specification adopts the following technical scheme:
a method for issuing quality codes using a blockchain, comprising:
sending a quality code acquisition request to a server;
receiving a quality code returned by the server according to the acquisition request and a two-dimensional code generated by the server according to the quality code, wherein the quality code is obtained by calculation through a preset hash function according to a sequence code and a private key of the server, and different quality codes correspond to different sequence codes;
and storing the quality code in a block chain after signing, and using the two-dimensional code for product anti-counterfeiting identification.
A method for issuing quality codes using a blockchain, comprising:
the server receives an acquisition request of a first user;
determining a sequence code according to the acquisition request, and calculating to obtain a quality code through a preset hash function, the sequence code and a private key of the server;
generating a two-dimensional code according to the quality code;
and returning the quality code and the two-dimension code to the first user, so that the first user stores the quality code in a block chain after signing the quality code, and the two-dimension code is used for product anti-counterfeiting identification.
A method for validating a quality code using a blockchain, comprising:
receiving a verification request sent by a second user, wherein the verification request carries a verification code obtained by the second user through scanning a two-dimensional code;
judging whether a quality code matched with the verification code exists or not according to the quality code after each signature stored in the block chain;
if so, checking the signature of the quality code matched with the verification code, and returning a verification result to the second user according to the verification result;
if not, returning a verification result of the certificate to the second user.
A method for issuing quality codes and verifying quality codes using a blockchain, the method comprising: a first user, a second user and a server, wherein:
the server receives an acquisition request of a first user;
determining a sequence code according to the acquisition request, and calculating to obtain a quality code through a preset hash function, the sequence code and a private key of the server;
generating a two-dimensional code according to the quality code;
returning the quality code and the two-dimension code to the first user, enabling the first user to store the quality code in a block chain after signing, and using the two-dimension code for product anti-counterfeiting identification;
receiving a verification request sent by a second user, wherein the verification request carries a verification code obtained by the second user through scanning a two-dimensional code;
judging whether a quality code matched with the verification code exists or not according to the quality code after each signature stored in the block chain;
if so, checking the signature of the quality code matched with the verification code, and returning a verification result to the second user according to the verification result;
if not, returning a verification result of the certificate to the second user.
An apparatus for issuing quality codes using a blockchain, comprising:
the sending module is used for sending a quality code obtaining request to the server;
the receiving module is used for receiving the quality code returned by the server according to the acquisition request and the two-dimensional code generated by the server according to the quality code, wherein the quality code is obtained by calculating through a preset hash function according to a sequence code and a private key of the server, and different quality codes correspond to different sequence codes;
and the certificate storage module is used for storing the quality code in a block chain after signing and using the two-dimensional code for product anti-counterfeiting identification.
An apparatus for issuing quality codes using a block chain, comprising:
the receiving module receives an acquisition request of a first user;
the calculation module is used for determining a sequence code according to the acquisition request and calculating to obtain a quality code through a preset hash function, the sequence code and a private key of the server;
the generating module is used for generating a two-dimensional code according to the quality code;
and the sending module returns the quality code and the two-dimensional code to the first user, so that the first user stores the quality code in a block chain after signing the quality code, and the two-dimensional code is used for product anti-counterfeiting identification.
An apparatus for validating a quality code using a blockchain, comprising:
the receiving module is used for receiving a verification request sent by a second user, wherein the verification request carries a verification code obtained by the second user through scanning a two-dimensional code;
and the judging and verifying module is used for judging whether the quality code matched with the verification code exists or not according to the quality code after each signature stored in the block chain, if so, verifying the signature of the quality code matched with the verification code, returning a verification result to the second user according to the verification result, and if not, returning a verification result of the authenticity to the second user.
The embodiment of the specification adopts at least one technical scheme which can achieve the following beneficial effects: the quality code is determined through hash calculation, the uniqueness of the quality code is guaranteed, the security of the quality code is guaranteed (namely, a third party is difficult to crack) by adopting the sequence code and a private key of the server as calculation input, a party (such as a product manufacturer) using the quality code for anti-counterfeiting stores a signature of the quality code in the block chain, and the validity of the quality code is guaranteed by utilizing the non-tamper property of the block chain and the signature of the party. When the DOI corresponding to the quality code is used for anti-counterfeiting of the product, a user (such as a consumer) can verify whether the information contained in the DOI is true and valid through the quality code stored in the block chain. The quality codes stored in the block chain are respectively used from generation to storage by using a private key of the server and a private key of a party using the quality codes for anti-counterfeiting (namely, the private keys are used for signing the quality codes), so that the quality codes stored in the block chain are safer and more reliable, and the content of the quality codes can be ensured to be accurate through the characteristic that the block chain cannot be tampered. The defect caused by the fact that the two-dimension code is used for providing product information in the prior art is overcome, and the accuracy of anti-counterfeiting by the two-dimension code is improved.
Drawings
The accompanying drawings, which are included to provide a further understanding of the application and are incorporated in and constitute a part of this application, illustrate embodiment(s) of the application and together with the description serve to explain the application and not to limit the application. In the drawings:
fig. 1 is a schematic flowchart illustrating a process of issuing quality codes and verifying quality codes by using a block chain according to an embodiment of the present disclosure;
fig. 2 is a flowchart illustrating a method for issuing quality codes using a block chain according to an embodiment of the present disclosure;
fig. 3 is a schematic diagram illustrating quality code storage and two-dimensional code application for product anti-counterfeit identification according to an embodiment of the present disclosure;
fig. 4 is a flowchart illustrating another method for issuing quality codes using a block chain according to an embodiment of the present application;
fig. 5 is a flowchart illustrating a method for verifying quality codes by using a block chain according to an embodiment of the present disclosure;
fig. 6 is a schematic structural diagram of an apparatus for issuing quality codes using block chains according to an embodiment of the present application;
fig. 7 is a schematic structural diagram of an apparatus for issuing quality codes using a block chain according to an embodiment of the present application;
fig. 8 is a schematic structural diagram of an apparatus for verifying a quality code by using a block chain according to an embodiment of the present disclosure.
Detailed Description
In order to make the objects, technical solutions and advantages of the present disclosure more apparent, the technical solutions of the present disclosure will be clearly and completely described below with reference to the specific embodiments of the present disclosure and the accompanying drawings. It should be apparent that the described embodiments are only some of the embodiments of the present application, and not all of the embodiments. All other embodiments obtained by a person skilled in the art without making any inventive step based on the embodiments in the description belong to the protection scope of the present application.
The technical solutions provided by the embodiments of the present application are described in detail below with reference to the accompanying drawings.
Fig. 1 is a schematic diagram of a process of issuing a quality code and verifying the quality code by using a blockchain according to an embodiment of the present disclosure, where the method includes a first user, a second user, and a server, where the first user is a user using the quality code for anti-counterfeiting, that is, a user storing a quality code certificate, the second user is a user performing anti-counterfeiting verification according to the quality code after obtaining the quality code, that is, a user verifying whether a product is true or false according to the quality code, and the server is a server of a service provider providing certificate storage and verification services, and the method specifically includes the following steps:
s100: the server receives an acquisition request of a first user.
In the embodiment of the application, in order to provide a better anti-counterfeit DOI when a first user is a user (e.g., a merchant user, a manufacturing enterprise, a sales platform, etc.) using a quality code for anti-counterfeit, the first user may send an acquisition request to a server as needed to acquire the DOI for anti-counterfeit and a corresponding quality code of the DOI, in order to provide a product to a second user (e.g., a consumer, a retailer, etc.).
It should be noted that the present application does not limit the type of DOI, and the DOI may include: any one of various DOIs such as two-dimensional codes, bar codes, three-dimensional codes and the like. Of course, for convenience of description, the DOI is taken as an example for description in the following of the present application.
Thus, in this embodiment of the application, the server may receive the acquisition request sent by the first user. Wherein, the acquiring request may carry the number of quality codes that the first user needs to acquire.
Specifically, the first user may send the obtaining request to a server through a terminal (e.g., a mobile phone, a personal computer, a tablet computer, etc.), where the server may be a single device, or a system (e.g., a distributed server) composed of multiple devices.
S102: and determining a sequence code according to the acquisition request, and calculating to obtain a quality code through a preset hash function, the sequence code and a private key of the server.
In this embodiment of the application, after receiving the acquisition request, for convenience of description, the server takes the acquisition request as an example to acquire a quality code to perform the following description.
First, the server may determine the sequence code based on the acquisition request. The sequence code is the number of the sequence number of the quality code recorded when the server is used for generating the quality code. For example, if the sequence code corresponding to the first quality code generated by the server is 00001, the sequence code corresponding to the second quality code is 00002, and so on, when the server generates the 1 st ten thousand quality codes, the sequence code corresponding to the quality code is 10000.
Therefore, in the embodiment of the application, the sequence code is mainly used for uniquely identifying the quality code, and the generation sequence of each quality code is recorded.
Secondly, the server can determine the sequence code and the private key of the server according to a preset hash function, and the quality code is obtained through calculation. Specifically, the server may combine the sequence code and a private key of the server, perform hash calculation, and use a calculation result as the quality code. For example, if the hash function is the fifth version of the Message Digest Algorithm (Message-Digest Algorithm 5, MD5), the result of the calculation is a 128-bit character string, which is the quality code determined by the server.
Or, in one or more embodiments of the present application, the server may also use a combination of the calculation result and the determined sequence code as the quality code, so as to determine the generation sequence of each quality code from the plaintext of the quality code.
S103: generating a digital object unique identifier DOI from the quality code.
In the embodiment of the application, after the server determines the quality code, because the quality code itself does not verify the authenticity of the product, the server can generate the two-dimensional code corresponding to the quality code according to a preset two-dimensional code compiling rule in order to establish a relationship between the quality code and the product.
Certainly, in the prior art, generating the two-dimensional code from the data is a relatively mature technology, and there are various compiling modes, so what mode is specifically adopted to generate the two-dimensional code corresponding to the quality code is not limited in the present application, and the two-dimensional code can be set as needed.
S104: and returning the quality code and the DOI to the first user, so that the first user stores the quality code in a block chain after signing, and the DOI is used for product anti-counterfeiting identification.
In the embodiment of the application, after the server determines the quality code and the two-dimensional code corresponding to the quality code, the quality code and the two-dimensional code can be returned to the first user, and then after the first user receives the quality code and the two-dimensional code, the first user can use the block chain to store the quality code into a certificate, and then the two-dimensional code is used for product anti-counterfeiting identification, so that the issuing process of the quality code is completed. In the present application, the issuing of the quality code includes: the quality code is stored and used for anti-counterfeiting identification, and the two contents are obtained.
Specifically, after receiving the quality code and the two-dimensional code, the first user may use its own private key to sign the quality code, and store the quality code plaintext and the signature in the blockchain, and after passing the consensus, each node of the blockchain may determine to store the quality code plaintext and the signature. Wherein the signature may be used to certify that the quality code was stored by the first user and to use the quality code for anti-counterfeiting verification.
It should be noted that, in the embodiment of the present application, there is no limitation on what type of blockchain the blockchain is specifically (e.g., public chain, alliance chain, private chain), and there is no limitation on the consensus algorithm adopted by the blockchain.
In addition, the server provides the two-dimensional code corresponding to the quality code, so that the first user can also use the two-dimensional code for anti-counterfeiting identification of the product. The two-dimension code can be set in the modes of printing the two-dimension code on the outer package of the product, pasting the two-dimension code on the outer package, pasting the two-dimension code on the unsealing position of the product and the like.
Of course, since there are many methods for setting a two-dimensional code for anti-counterfeit recognition in the prior art, the specific setting manner of the two-dimensional code is not limited in the present application, and the setting can be performed as needed as long as a second user can perform a subsequent verification process through the two-dimensional code.
S105: receiving a verification request sent by a second user, wherein the verification request carries a verification code obtained by the second user through scanning DOI.
In the embodiment of the present application, the above steps S100 to S104 provide the quality code and the two-dimensional code for the server to the first user, and the first user stores the quality code as required and uses the quality code for anti-counterfeiting, and the following steps S105 to S110 provide a process for the second user to perform verification through the two-dimensional code provided by the first user.
Specifically, if the second user performs verification according to the quality code in step S100, the second user may scan the two-dimensional code set on the product, obtain the verification code included in the two-dimensional code, and send the verification code carried in the verification request to the server. Then, after receiving the verification request, the server may perform subsequent steps according to the verification request to verify the verification code.
For convenience, in this embodiment of the present application, the to-be-verified quality code obtained from the two-dimensional code by the second user is collectively referred to as a verification code.
S106: and judging whether a quality code matched with the verification code exists or not according to the signed quality codes stored in the block chain, if so, executing a step S108, and otherwise, executing a step S110.
In this embodiment of the application, after the server determines the verification code, since the quality code is stored in the block chain as the authentication data by the first user if the verification code is the quality code used by the first user for product anti-counterfeiting, the server may determine whether there is a quality code matching the verification code according to the signed quality codes stored in the block chain. That is, first, whether the verification code is a quality code for anti-counterfeiting by the first user is judged.
Specifically, when the certificate exists, the first user stores the signed quality code, the quality code plaintext and the corresponding relationship thereof into the block chain, so that the server can judge whether the verification code is consistent with the plaintext of the quality code according to the plaintext of each quality code. If the verification code is identical to the plaintext of any quality code, it may be determined that the quality code matches the verification code, step S108 may be performed, and if no plaintext of any quality code is identical to the verification code, it may be determined that the verification code is counterfeit, step S110 may be performed.
S108: and checking the signature of the quality code matched with the verification code, and returning a verification result to the second user according to the verification result.
In this embodiment of the present application, because the data in each block in the block chain can be stored in the block chain maintained by each node as long as the consensus passes, after the server determines that there is a quality code matching the verification code, the server needs to verify whether the matching quality code is a valid quality code, and returns the determined verification result to the second user.
The server may then further verify the signature of the quality code. First, a user identification of a first user receiving the quality code may be determined based on the quality code. And then, according to the determined user identification, determining the public key of the first user. And finally, verifying the signature of the quality code according to the public key, wherein the specific signature verification process can be the same as that in the prior art. That is, it is determined whether the signature can be parsed with the public key and whether the parsed content is consistent with the plaintext of the quality code. The description of the signature verification process is omitted.
And if the verification result of the verification code is true, determining that the verification result of the verification code is false.
S110: returning the authentication result of the authentication to the second user.
In the embodiment of the present application, as described in step S106, when the server determines that no quality code matches the verification code, it may determine that the verification code is counterfeit, and the server may return a verification result of the counterfeit to the second user.
Through the process of evidence storage and verification shown in fig. 1. Therefore, the two-dimensional code is used for the anti-counterfeiting first user, and the used quality code is generated by the server according to the private key of the server and the globally unique sequence code. The quality code is difficult to imitate by a third party by using the private key, and the uniqueness of the quality code is ensured by using the sequence code. The authentication process is executed by the first user, and can be stored in the block chain after being signed by the private key of the first user. So that the identity of the quality codes stored in the blockchain can be verified. On one hand, the source capable of determining the quality code is generated (only the private key of the server can generate the legal quality code), on the other hand, the identity of the party storing the quality code can be determined from storage, and the non-tamper-proof property of the block chain storage data is utilized, so that the storage of the quality code is safer, and the authenticity of the quality code can be verified. So that the server can provide more accurate verification result for the second user in the subsequent verification process of the quality code. The method and the device avoid the problem that the quality code is easy to be falsified due to the defects in the quality code generation and storage processes in the prior art.
The authentication process of steps S100 to S104 and the verification process of steps S106 to S110 may be independent of each other. That is, the server can receive the quality code and the two-dimensional code returned by the acquisition request sent by the first user to enable the first user to store the certificate, and can also receive the verification request sent by the second user to verify the quality code stored in the block chain. Of course, for each quality code, the quality code needs to go through steps S100 to S104, be stored in the block chain, and then go through steps S106 to S110 to be verified to be authentic, otherwise, only be verified to be false. That is, the time sequence between the certificate storage and the verification is not limited in the application, and the verification result of the quality code without the certificate storage is necessarily the certificate.
The following is a detailed description of the above authentication process and verification process.
Based on the processes of issuing quality codes and verifying quality codes by using block chains as shown in fig. 1, embodiments of the present application correspondingly provide a process of issuing quality codes, as shown in fig. 2. The method specifically comprises the following steps:
s200: and sending a quality code acquisition request to the server.
In this embodiment, a process in which a first user stores a quality code as certified data to a block chain is described by taking the first user as an example. The first user can send an acquisition request for acquiring the quality code to a server according to own needs, and the server is a server of a service provider for providing the quality code.
Further, since the user who generally uses the two-dimensional code for the anti-counterfeit recognition is generally an enterprise and public institution with a large production amount, the acquisition request may carry the number of quality codes that the first user needs to acquire. For example, if a factory needs to produce 1 batch of 10 ten thousand bottles of white spirit, each bottle of white spirit needs a corresponding quality code for anti-counterfeiting, and the factory can send an acquisition request for acquiring 10 ten thousand quality codes to a server.
Specifically, the process of sending an acquisition request to the server by the first user to acquire the quality code may be regarded as a process of performing a service online. For security of service execution, before sending an acquisition request to a server through a terminal, the first user may log in an account already registered in the server, and by carrying an account identifier in the acquisition request, the server determines the identity of the first user through the login information of the account and executes subsequent steps after the acquisition request is legal.
The specific first user may register a login account through an application provided by the web client or the service provider. Of course, since identity and authority verification is already mature before service execution in a manner similar to that between a service provider and a user through an account in the prior art, there are various manners, and thus, this is not described herein again.
S202: and receiving a quality code returned by the server according to the acquisition request and a digital object unique identifier DOI generated by the server according to the quality code, wherein the quality code is obtained by calculating through a preset hash function according to a sequence code and a private key of the server, and different quality codes correspond to different sequence codes.
In this embodiment, the first user may receive a quality code returned by the server according to the acquisition request, and a DOI generated by the server according to the quality code (a two-dimensional code is described as an example later). The quality codes are obtained by the server through calculation of a preset hash function according to the sequence codes and the private key of the server, and different quality codes correspond to different sequence codes.
Specifically, when the obtaining request is to obtain a plurality of quality codes, the first user may receive the quality codes of the corresponding number and the two-dimensional code corresponding to each quality code returned by the server, and may subsequently use each quality code for anti-counterfeiting of different products, respectively.
In addition, in one or more embodiments of the present application, a description is given by taking one quality code as an example. The quality code is specifically a 16-bit character string, wherein the first 10 bits are sequence codes corresponding to the quality code and determined by the server, and the rest 6-bit characters are characters contained in a calculation result obtained by calculating a hash function.
For example, assuming that the server determines the sequence code to be 1234567890 and the calculation result calculated by the hash function to be 5bf6be7122b0a90a40f2ee309e0d88dc according to the acquisition request, the quality code determined by the server may be composed of 10 bits of the sequence code and the last 6 bits in the calculation result, i.e., 12345678900d88 dc.
Further, in one or more embodiments of the present application, in order to increase the use security of the two-dimensional code corresponding to the quality code, the quality code may be further split into a portion for compiling into a two-dimensional code and a portion for serving as a verification code. Therefore, the two-dimensional code provided by the server contains 12 bits in the quality code, and the rest 4-bit characters are used as the check code of the two-dimensional code.
The two-dimensional code comprises the sequential code, and the numerical value of the sequential code is increased according to the increase of the service providing time of the server, so that the searching in the subsequent verification process can be facilitated. For example, if the maximum value of the sequence code used in month 1 of 2019 is 1000000000 and the maximum value of the sequence code used in month 2 is 1000030000, when searching for a matching quality code in the subsequent verification process, if the first 10 bits of the verification code are 1000015000, the server may search for a matching quality code in a chunk generated 2 months later in the chunk chain, thereby reducing the workload of matching.
And the rest 4 bits in the quality code are used as character strings of the check code and can be arranged under the scratch-off coating. The feature that the scratch-off coating cannot be repaired after being damaged is utilized, so that the safety of the quality code when the quality code is used for anti-counterfeiting is improved. So that the second user can determine that the quality code of the product has not been used before verification. Of course, the protection of the anti-counterfeit code by the scratch-off coating is a mature method in the prior art, and is not described in detail herein.
It should be noted that, the above-mentioned quality code generation method is only one implementation method provided in the present application, and the server may also directly return the calculation result obtained by calculating the hash function as the quality code to the first user. Or, the quality code is not split, and the quality code is completely compiled to generate the two-dimensional code containing all characters of the quality code. And as long as the generating process of the quality codes can ensure the uniqueness of each quality code and only the quality codes can be generated according to the private key of the server, the safety of the quality codes in the generating process can be ensured.
S204: and storing the quality code in a block chain after signing, and using the DOI for product anti-counterfeiting identification.
In the embodiment of the application, the first user can store the received quality code signature into the block chain, and use the received two-dimensional code for anti-counterfeiting identification of the product. As shown in fig. 3.
Fig. 3 is a schematic diagram of a first user storing a quality code and using a two-dimensional code for product anti-counterfeit recognition according to the embodiment of the present application.
Specifically, the first user may sign the quality code by using its own private key to prove the identity of the user storing the quality code. As in fig. 3, the first user sends the quality code to the blockchain network, so that each node in each blockchain network (i.e., the circle in fig. 3) stores the quality code in a block in its own maintained blockchain (i.e., the chain of blocks in fig. 3, where the dark block is the block containing the quality code). Wherein, since the first user needs to store data into the blockchain, the private key may be a private key of an account of the first user in the blockchain network. For example, if the blockchain is an etherhouse blockchain, the private key may be a private key of the etherhouse account of the first user.
The two-dimensional code can be printed or pasted on a product needing anti-counterfeiting by a first user, so that a second user (such as a consumer, a retailer and the like) can obtain a quality code corresponding to the product through the two-dimensional code on the product and verify the quality code. As shown in fig. 3, the first user attaches the two-dimensional code to the product for product anti-counterfeiting.
In addition, in order to enable the quality code to be used for verifying whether the product information conforms to the product or not, in the embodiment of the application, when the first user stores the quality code, for each quality code, the product information of the product corresponding to the quality code may be determined, the corresponding relationship between the quality code and the product information is established, and the corresponding relationship is signed and then stored in the block chain. The first user can determine the corresponding relation between each quality code and the product according to the setting relation between the product and the two-dimensional code.
For example, the two-dimensional code B corresponding to the quality code a is attached to the product C and used for the anti-counterfeiting of the product C, the first user can determine that the quality code a and the product C have a corresponding relationship, and the product information, the quality code and the corresponding relationship between the product information and the quality code are signed and then stored in the block chain.
It should be noted that, in the embodiment of the present application, the first user may respectively perform step S204 on each quality code for storing certificates and the two-dimensional code corresponding to the quality code. Therefore, the quality code corresponding to each two-dimensional code used by the first user can find the corresponding content in the block chain, and the authenticity of the product can be verified.
In the embodiment of the present application, corresponding to the process of issuing quality codes and verifying quality codes by using a block chain as shown in fig. 2, the embodiment of the present application correspondingly provides a process of issuing quality codes executed by a server side as shown in fig. 4. The method specifically comprises the following steps:
s300: the server receives an acquisition request of a first user.
In this embodiment, a server is used to execute the process of issuing the quality code, and the server may receive an acquisition request sent by a first user and determine to execute subsequent steps according to the acquisition request. For obtaining the content of the request, the sending process, and the like, reference may be made to the description of step S200 above. This application is not repeated again.
S302: and determining a sequence code according to the acquisition request, and calculating to obtain a quality code through a preset hash function, the sequence code and a private key of the server.
In the embodiment of the present application, since the service provider provides the quality code for the certificate, the service provider generally provides services for a plurality of users, that is, the service provider may be a third party and provides the quality code for each first user. The server may thus receive acquisition requests sent by different first users. Thus, when each quality code is generated inside the service provider, a globally unique identifier may be set for each quality code in order to distinguish each generated quality code. In this embodiment, the globally unique identifier is a sequence number corresponding to each quality code.
Specifically, in the embodiment of the present application, the sequence code is used to indicate a sequence of generating the quality codes, and the sequence code is used to generate the quality codes according to the size. For example, the quality code used by the server is a character string composed of characters with the numbers of 0 to 9, the content of the character string is a numerical value with the 10 system, or the character string composed of 0 to 9 and a to f, the content of the character string is a numerical value with the 16 system. In summary, the sequence code is a character string for representing a numerical value, specifically, 10, 16, 32, or the like is used to represent the numerical value, and the present application is not limited thereto.
First, when the server receives a fetch request, it may first determine the largest numeric sequence code that has historically been used. For example, before step S300, the server uses the sequential code having the largest value of 10 for generating the quality code, and after receiving the acquisition request at step S300, the server may determine that the sequential code having the largest value has historically been used is 10.
Secondly, in this embodiment of the application, the server may determine, according to the determined sequence code with the largest numerical value, a numerical value of the sequence code with the largest numerical value, which is larger than the determined sequence code with the largest numerical value, as the sequence code corresponding to the acquisition request. Continuing with the above, the server may determine a value greater than 10, such as 11, as the sequence code corresponding to the acquisition request. Alternatively, the server may determine 100 as the sequence code corresponding to the acquisition request. As long as the determined sequence code has a value greater than the maximum value of the sequence codes that have already been used.
Of course, in order to improve the utilization rate of the sequence code, the server may determine the numerical value of the sequence code in turn. For example, when the maximum value is 100, 101 is determined as the sequential code, and then the sequential code needs to be determined, 102-bit sequential code is determined, and so on.
Then, the server may arrange the character string of the determined sequence code and the character string of the private key of the server to determine a combined character string. The specific permutation and combination method is not limited in this application, and for example, two character strings may be arranged in sequence or in a manner of inserting one character every other character, which is not limited in this application.
Then, the server may perform hash calculation on the combined character string through a preset hash function to determine a calculation result. Of course, as described in step S102 of fig. 1, the hash function is specifically that function, and the present application is not limited thereto. For example, a Message Digest fifth version Algorithm (Message-Digest Algorithm 5, MD5), hash1, hash256, and so on may be used.
Finally, the server can use the calculation result as a quality code, or use a combination of partial characters in the calculation result and the sequence code as the quality code. For the specific content of the quality code, reference may be made to the description in step S202 in fig. 2, which is not described herein again.
It should be noted that, if the acquisition request requests to acquire a plurality of quality codes, the server may determine a corresponding number of quality codes according to a numerical value carried in the acquisition request. For example, when an acquisition request requests acquisition of 100 quality codes, the server may determine the sequence codes 201 to 301 as the sequence code corresponding to the acquisition request, assuming that the maximum value of the sequence codes that have been used is 200. When the quality codes are generated according to the sequential codes, the same calculation process can be executed for each sequential code, and the quality code corresponding to each sequential code is respectively determined.
S304: generating a digital object unique identifier DOI from the quality code.
In the embodiment of the present application, the determined quality codes are stored in the block chain for verification. In order to facilitate the second user to verify the authenticity of the product according to the quality code, the server may further generate a DOI corresponding to the quality code. The DOI may be a bar code, a two-dimensional code, a three-dimensional code, or the like, and the application does not limit the specific type of the DOI.
It should be noted that, in the prior art, there are multiple compiling rules, and data is compiled to generate DOI, and the use of each compiling rule is already mature, so the process of generating the two-dimensional code is not described in detail in this application. Meanwhile, the compiling rule adopted by the server is not limited, and the compiling rule can be specifically set according to the requirement.
Further, as described in step S202 in fig. 2, the server may further split the quality code into a character string for generating a two-dimensional code and a character string as a check code, so as to increase the anti-counterfeiting capability of the quality code and the two-dimensional code thereof generated by the present application when used in a product. The details can refer to the description in step S202.
S306: and returning the quality code and the DOI to the first user, so that the first user stores the quality code in a block chain after signing, and the DOI is used for product anti-counterfeiting identification.
In the embodiment of the application, after the server generates the DOI corresponding to the quality code, the server can return the quality code and the DOI corresponding to the quality code to the first user, so that the first user can sign the quality code and then store the quality code in the block chain for storing the certificate, and use the DOI for the anti-counterfeiting identification of the product.
Based on the process of issuing quality codes and verifying quality codes by using block chains as shown in fig. 1, the embodiment of the present application correspondingly provides a process of verifying quality codes, as shown in fig. 5. The method specifically comprises the following steps:
s400: and receiving a verification request sent by a second user.
In this embodiment of the application, if the second user obtains the verification code after scanning the DOI and performs verification, the server may receive a verification request sent by the second user, where the verification request carries the verification code obtained by scanning the DOI by the second user.
Specifically, the second user can scan the two-dimensional code set by the first user on the product through the terminal to obtain the verification code, and then sends a verification request to the server according to the verification code. The sending of the authentication request by the second user may be sending the authentication request to the server through the web client, sending the authentication request to the server through the application program, or sending the authentication request to the server through the browser (or the application program having the browser kernel).
The present application does not limit how the verification request is specifically sent, and certainly, since the two-dimensional code may only include the verification code, the second user needs to scan the two-dimensional code in a manner agreed with the server in advance, and then the query request may be sent to the server. For example, after the second user uses an application provided by the service provider to scan the two-dimensional code, the application may determine that a verification request needs to be sent to the server, and send the verification request carrying the verification code obtained by scanning the two-dimensional code to the server.
In addition, in one or more embodiments of the present application, the verification code in the two-dimensional code may be included in a URL, and after scanning the two-dimensional code through a browser or an application program having a browser kernel, the second user may directly access the server through the URL and send a verification request carrying the verification code to the server.
Both the two methods can be used for realizing that the second user sends the verification request to the server in the step S400 of the application, and specifically, which method is commonly used can be set as required.
S402: and judging whether a quality code matched with the verification code exists or not according to the signed quality codes stored in the block chain, if so, executing a step S404, and otherwise, executing a step S406.
In this embodiment, the server may determine whether a quality code matching the verification code exists according to each signed quality code stored in the block chain, if so, it indicates that a subsequent verification step may be performed, and if not, it indicates that the verification code does not have a quality code matching the verification code, that is, none of the first users stores the verification code as a certificate in the block chain, so step S406 may be performed to send a verification result of the certificate to the second user.
Specifically, the server may determine, for each quality code stored in the block chain, a plaintext of the quality code, and then determine whether the plaintext of the quality code is consistent with the verification code. If the plaintext of any quality code is consistent with the verification code, step S404 may be executed, otherwise step S406 is executed.
In addition, since in one or more embodiments of the present application, when the server provides, to the first user, the two-dimensional code for placing on a product for verification, where the two-dimensional code only includes a partial character string of the quality code, the verification code sent by the second user to the server is also only a part of the quality code. For example, if the two-dimensional code contains only the first 12 characters in the quality code, the server may determine whether the first 12 characters of each quality code are consistent with the verification code.
Further, since the verification code only contains part of the content of the quality code in the above case, the verification code is not necessarily globally unique, and therefore the server may determine a plurality of quality codes matching the verification code. The server may also send a prompt to the second user to prompt the second user to provide a verification code overlaid under the scratch-off coating in order to determine that the verification code is the quality code uniquely corresponding to the verification code.
Then, after receiving the check code returned by the second user according to the prompt message, determining whether a quality code with the last 4 bits consistent with the check code exists in the quality codes determined to be matched, if yes, executing step S404, otherwise executing step S406.
For example, assuming that a certain quality code is 0000000000123456, the server generates a two-dimensional code using the first 12 bits, i.e., 000000000012, and takes the last 4 bits 3456 as a check code. After receiving the verification request sent by the second user, the subsequent server determines that the verification code is 000000000012, and determines 3 matched quality codes according to the verification code, which are 0000000000123456, 0000000000123458 and 0000000000125512 respectively. The server may send a prompt to the second user "please scratch off the coating and enter a check code". Assuming that the second user returns the check code 3456, the server may determine to perform step S404 and the quality code matching both the verification code and the check code is 0000000000123456. Of course, assuming that the server does not query the quality code matching 000000000012, or the last 4 bits of each quality code matching, none of which is consistent with the check code, the server may perform step S406.
S404: and checking the signature of the quality code matched with the verification code, and returning a verification result to the second user according to the verification result.
In this embodiment of the application, after the matching quality code is determined to be stored, the server may perform signature verification on the signature of the quality code, send a verification result that the verification is true to the second user if the signature verification passes, and send a verification result that the verification is false to the second user if the signature verification fails.
The server can determine the public key of the first user for obtaining the quality code according to the matched quality code, and verify the signature of the quality code through the public key. Certainly, the signature verification process is already a mature method in the prior art, and is not described in detail herein.
S406: and returning a verification result of the certificate to the second user.
In this embodiment of the application, if the server fails to determine the quality code matching the verification code, it indicates that the verification code is counterfeit, and may send a verification result of the counterfeit certificate to the second user.
In addition, since the first user may also store the product information of the product into the blockchain when storing the quality code, in step S404 in the embodiment of the present application, if the server determines that the verification result is true, the server may further determine the product information corresponding to the quality code, and send the product information and the verification result to the second user together.
Based on the method for issuing quality codes provided in fig. 2, the present application also provides two corresponding apparatuses for issuing quality codes by using a block chain, as shown in fig. 6 and 7.
Fig. 6 is a schematic structural diagram of an apparatus for issuing quality codes using a block chain according to an embodiment of the present application, including:
a sending module 500, configured to send a request for obtaining a quality code to a server;
a receiving module 502, configured to receive a quality code returned by the server according to the acquisition request, and a two-dimensional code generated by the server according to the quality code, where the quality code is calculated according to a sequence code and a private key of the server through a preset hash function, and different quality codes correspond to different sequence codes;
and the certificate storing module 504 is used for storing the quality code in a block chain after signing, and using the two-dimensional code for product anti-counterfeiting identification.
And the verification storage module 504 is used for signing the quality code according to a private key of the verification storage module, and storing the quality code and the signed quality code in the block chain.
The DOI is a two-dimensional code, the quality code is a 16-bit character string, the two-dimensional code comprises 12-bit characters in the character string, and the rest characters are used as check codes; and the certificate storage module 504 is used for placing the two-dimensional code and the check code covered with the scratch-off coating on a product for anti-counterfeiting identification.
And the evidence storage module 504 is used for determining the product information of the product corresponding to the quality code, and storing the product information and the quality code signature in the block chain.
Fig. 7 is a schematic structural diagram of an apparatus for issuing quality codes using a block chain according to an embodiment of the present application, including:
a receiving module 600, configured to receive an acquisition request of a first user;
the calculation module 602 determines a sequence code according to the acquisition request, and calculates a quality code through a preset hash function, the sequence code and a private key of the server;
a generating module 604 for generating a digital object unique identifier DOI according to the quality code;
the sending module 606 returns the quality code and the two-dimensional code to the first user, so that the first user stores the quality code in a block chain after signing the quality code, and the two-dimensional code is used for product anti-counterfeiting identification.
The calculating module 602 determines, according to the acquiring request, a maximum numerical value of the sequence codes that have been used historically, and determines, according to the maximum numerical value of the sequence codes that have been used, the sequence codes that are greater than the maximum numerical value in sequence as the sequence codes corresponding to the acquiring request.
The calculation module 602 arranges the sequence code and the private key of the server to obtain a combined character string, performs hash calculation on the combined character string through a preset hash function, determines a calculation result, and combines a plurality of characters in the calculation result with the sequence code to serve as a quality code.
The sequence code is a 10-digit numeric character string; the calculation module 602 combines the 10-bit characters of the sequential code with the last 6-bit characters in the calculation result to determine the quality code consisting of 16-bit characters.
The generating module 604 is configured to encode the first 12-bit character in the quality code to generate a two-dimensional code corresponding to the quality code.
The sending module 606 establishes a corresponding relationship between the first user and the quality code, and stores the corresponding relationship into a block chain.
Based on the method for verifying the quality code by using the block chain shown in fig. 5, the present application also provides a device for verifying the quality code by using the block chain, as shown in fig. 8. The method comprises the following steps:
the receiving module 700 receives a verification request sent by a second user, where the verification request carries a verification code obtained by the second user by scanning a two-dimensional code;
the determining and verifying module 702 determines whether a quality code matching the verification code exists according to the quality codes after each signature stored in the block chain, if so, performs signature verification on the signature of the quality code matching the verification code, and returns a verification result to the second user according to the signature verification result, and if not, returns a verification result of a false certificate to the second user.
The determining and verifying module 702 determines the plaintext of the signed quality code for each signed quality code stored in the block chain, and determines whether the plaintext of the signed quality code needs to be consistent with the verification code.
The determining and verifying module 702 determines a first user corresponding to the quality code matched with the verification code according to the pre-stored correspondence between each first user and each quality code, verifies the signature of the matched quality code according to the public key of the first user, returns a verification result that the verification is true to the second user if the verification passes, and returns a verification result that the verification is false to the second user if the verification passes.
The verification code is a 12-bit string; the determining and verifying module 702 determines, for each signed quality code stored in the block chain, a plaintext of the signed quality code, and determines whether a character string corresponding to the first 12 characters in the plaintext of the signed quality code needs to be consistent with the verification code.
A judging and verifying module 702, configured to send a prompt message to the second user to prompt the second user to provide a check code covered under a scratch-off coating when the verification result is passed, receive the check code returned by the second user according to the prompt message, judge whether the check code is consistent with the last 4 characters in the plaintext of the quality code, if so, return a verification result that the verification is true to the second user, and if not, return a verification result that the verification is false to the second user.
A determining and verifying module 702, configured to determine product information corresponding to the quality code from the block chain, and send the product information to the second user, where the product information at least includes one of the following: production information, packaging information, transportation information, sales information.
The above description is only an example of the present application and is not intended to limit the present application. Various modifications and changes may occur to those skilled in the art. Any modification, equivalent replacement, improvement, etc. made within the spirit and principle of the present application should be included in the scope of the claims of the present application.

Claims (14)

1. A method for using a block chain to provide quality codes, comprising:
sending a quality code acquisition request to a server;
receiving a quality code returned by the server according to the acquisition request and a digital object unique identifier DOI generated by the server according to the quality code, wherein the quality code is obtained by calculating through a preset hash function according to a sequence code and a private key of the server, and different quality codes correspond to different sequence codes;
and storing the quality code in a block chain after signing, and using the DOI for product anti-counterfeiting identification.
2. The method according to claim 1, wherein the DOI is a two-dimensional code, the quality code is a 16-bit string, the two-dimensional code contains 12-bit characters in the string, and the rest of the characters are check codes;
the DOI is used for product anti-counterfeiting identification, and specifically comprises the following steps:
and placing the two-dimensional code and the check code covered with the scratchable coating on a product for anti-counterfeiting identification.
3. The method of claim 1, wherein storing the quality code signature in a block chain comprises:
and determining product information of a product corresponding to the quality code, and storing the product information and the quality code signature in the block chain.
4. A method for using a block chain to provide quality codes, comprising:
the server receives an acquisition request of a first user;
determining a sequence code according to the acquisition request, and calculating to obtain a quality code through a preset hash function, the sequence code and a private key of the server;
generating a digital object unique identifier DOI according to the quality code;
and returning the quality code and the DOI to the first user, so that the first user stores the quality code in a block chain after signing, and the DOI is used for product anti-counterfeiting identification.
5. The method of claim 4, wherein determining the sequence code according to the acquisition request specifically includes:
determining the maximum value of the sequence codes which have been used historically according to the acquisition request;
and determining the sequence code larger than the maximum numerical value in sequence according to the maximum numerical value of the sequence codes which are already used, and taking the sequence code as the sequence code corresponding to the acquisition request.
6. The method of claim 4, wherein the calculating the quality code according to the preset hash function, the sequence code, and the private key of the server specifically includes:
arranging the sequence code and a private key of the server to obtain a combined character string;
performing hash calculation on the combined character string through a preset hash function to determine a calculation result;
and combining a plurality of characters in the calculation result with the sequence code to be used as a quality code.
7. The method of claim 6, wherein the sequential code is a 10-digit numeric string;
combining the characters in the calculation result with the sequence code to be used as a quality code, which specifically comprises:
and combining the 10-bit characters of the sequential code with the last 6-bit characters in the calculation result to determine the quality code consisting of the 16-bit characters.
8. The method of claim 7, wherein generating the DOI according to the quality code specifically comprises:
and coding the first 12-bit character in the quality code to generate a two-dimensional code corresponding to the quality code.
9. A method for validating a quality code using a blockchain, comprising:
receiving a verification request sent by a second user, wherein the verification request carries a verification code obtained by the second user by scanning a digital object unique identifier (DOI);
judging whether a quality code matched with the verification code exists or not according to the quality code after each signature stored in the block chain;
if so, checking the signature of the quality code matched with the verification code, and returning a verification result to the second user according to the verification result;
if not, returning a verification result of the certificate to the second user.
10. The method according to claim 9, wherein determining whether there is a quality code matching the verification code according to the signed quality codes already stored in the block chain includes:
and determining the plaintext of the signed quality code aiming at each signed quality code stored in the block chain, and judging whether the plaintext of the signed quality code needs to be consistent with the verification code.
11. The method according to claim 10, wherein verifying the signature of the quality code matching the verification code and returning the verification result to the second user according to the verification result comprises:
determining a first user corresponding to the quality code matched with the verification code according to the pre-stored corresponding relation between each first user and each quality code;
according to the public key of the first user, checking the signature of the matched quality code;
if the verification passes, returning a verification result that the verification is true to the second user;
and if the verification is passed, returning a verification result of the certificate to the second user.
12. The method of claim 10, wherein the authentication code is a 12-bit string;
judging whether a quality code matched with the verification code exists according to the quality code after each signature stored in the block chain, wherein the judgment specifically comprises the following steps:
and determining the plaintext of each signed quality code stored in the block chain, and judging whether the character string corresponding to the first 12 characters in the plaintext of the signed quality code is required to be consistent with the verification code.
13. The method according to claim 12, wherein returning the verification result to the second user according to the verification result specifically includes:
when the label checking result is that the label checking result passes, sending prompt information to the second user to prompt the second user to provide a check code covered under the scratch-off coating;
receiving a check code returned by the second user according to the prompt message, and judging whether the check code is consistent with the last 4 characters in the plain text of the quality code;
if yes, returning a verification result that the verification is true to the second user;
if not, returning a verification result of the certificate to the second user.
14. The method of claim 9, wherein when a non-authentic verification result is returned to the second user, the method further comprises:
determining product information corresponding to the quality code from the block chain;
sending the product information to the second user, wherein the product information at least comprises one of the following: production information, packaging information, transportation information, sales information.
CN201910133271.7A 2019-02-22 2019-02-22 Method and device for issuing quality codes and verifying quality codes by block chain Active CN109871930B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201910133271.7A CN109871930B (en) 2019-02-22 2019-02-22 Method and device for issuing quality codes and verifying quality codes by block chain

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910133271.7A CN109871930B (en) 2019-02-22 2019-02-22 Method and device for issuing quality codes and verifying quality codes by block chain

Publications (2)

Publication Number Publication Date
CN109871930A CN109871930A (en) 2019-06-11
CN109871930B true CN109871930B (en) 2022-05-06

Family

ID=66919120

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910133271.7A Active CN109871930B (en) 2019-02-22 2019-02-22 Method and device for issuing quality codes and verifying quality codes by block chain

Country Status (1)

Country Link
CN (1) CN109871930B (en)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110807187B (en) * 2019-11-06 2021-09-14 福建福链科技有限公司 Block chain-based network market illegal information evidence storing method and platform terminal

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107169776A (en) * 2017-05-10 2017-09-15 无锡井通网络科技有限公司 Product certification method for anti-counterfeit based on block chain technology
CN107292629A (en) * 2017-05-12 2017-10-24 深圳蜂链科技有限公司 Anti-counterfeit tracking verification method based on block chain and the device using this method
CN108596636A (en) * 2018-04-20 2018-09-28 中国联合网络通信集团有限公司 Method for anti-counterfeit, device and terminal device
CN108764930A (en) * 2018-03-23 2018-11-06 成都众宜天成科技有限公司 The implementation method of commodity counterfeit prevention verification platform based on block chain structure
CN109034851A (en) * 2018-09-05 2018-12-18 深圳正品创想科技有限公司 Commodity counterfeit prevention source tracing method and its device, block chain node based on block chain
CN109087115A (en) * 2018-08-22 2018-12-25 浪潮软件集团有限公司 Commodity quality tracing and quality guaranteeing method based on electronic invoice
CN109191142A (en) * 2018-08-02 2019-01-11 华中科技大学 A kind of commodity tracing method, equipment and system

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101849917B1 (en) * 2016-10-13 2018-05-31 주식회사 코인플러그 Method for providing certificate service based on smart contract and server using the same
US11423351B2 (en) * 2016-12-15 2022-08-23 International Business Machines Corporation Blockchain-based food product shelf-life management

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107169776A (en) * 2017-05-10 2017-09-15 无锡井通网络科技有限公司 Product certification method for anti-counterfeit based on block chain technology
CN107292629A (en) * 2017-05-12 2017-10-24 深圳蜂链科技有限公司 Anti-counterfeit tracking verification method based on block chain and the device using this method
CN108764930A (en) * 2018-03-23 2018-11-06 成都众宜天成科技有限公司 The implementation method of commodity counterfeit prevention verification platform based on block chain structure
CN108596636A (en) * 2018-04-20 2018-09-28 中国联合网络通信集团有限公司 Method for anti-counterfeit, device and terminal device
CN109191142A (en) * 2018-08-02 2019-01-11 华中科技大学 A kind of commodity tracing method, equipment and system
CN109087115A (en) * 2018-08-22 2018-12-25 浪潮软件集团有限公司 Commodity quality tracing and quality guaranteeing method based on electronic invoice
CN109034851A (en) * 2018-09-05 2018-12-18 深圳正品创想科技有限公司 Commodity counterfeit prevention source tracing method and its device, block chain node based on block chain

Also Published As

Publication number Publication date
CN109871930A (en) 2019-06-11

Similar Documents

Publication Publication Date Title
CN104835046B (en) A kind of data false distinguishing method for two-dimension code safe verification
CN104951943B (en) A kind of method for anti-counterfeit based on the association examination of random light and shade code
CN105512881B (en) A kind of method and terminal for completing payment based on two dimensional code
US11216627B2 (en) Method and device for providing and verifying two-dimensional code
CN111639734B (en) Novel two-dimensional code encoding and anti-counterfeiting application method embedded with QR code
CN105631688A (en) Anti-fake and anti-commodity-fleeing query method and system based on public platform
CN112165382B (en) Software authorization method and device, authorization server side and terminal equipment
CN111740841B (en) Verification method and device for tracing codes
CN109360008B (en) Product anti-counterfeiting authentication updating method and system
CN109522988B (en) Method and system for updating product anti-counterfeiting electronic label information
CN112395353A (en) Intelligent electric energy meter quality data sharing method and system based on alliance chain
CN116582266B (en) Electronic signature method, electronic signature system, and readable storage medium
CN113469716A (en) Product tracing method and system based on block chain and identification analysis
JP2017509275A (en) System architecture and method for ensuring network information security
CN109871930B (en) Method and device for issuing quality codes and verifying quality codes by block chain
US20200057871A1 (en) Apparatuses and methods for signing a legal document
CN114065156A (en) Data processing method, system, terminal and storage medium based on zero knowledge proof
CN110890979B (en) Automatic deployment method, device, equipment and medium for fort machine
CN112039675A (en) Token generation and authentication method based on block chain intelligent contract
US20060123236A1 (en) Image data registration method and apparatus and image data verification method and apparatus
CN115511030A (en) Anti-counterfeiting verification method and device and electronic equipment
CN110070368A (en) Anti-counterfeit authentication method, device, production method, product and the system of product
CN115331241A (en) Method for generating and identifying anti-counterfeiting seal of unique ID ticket
US9454605B1 (en) Transferring data between devices using bar codes
CN114817903A (en) Vaccination verification system, method and contract platform based on intelligent contract

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