CN110365501B - Method and device for group joining processing based on graphic code - Google Patents

Method and device for group joining processing based on graphic code Download PDF

Info

Publication number
CN110365501B
CN110365501B CN201910770863.XA CN201910770863A CN110365501B CN 110365501 B CN110365501 B CN 110365501B CN 201910770863 A CN201910770863 A CN 201910770863A CN 110365501 B CN110365501 B CN 110365501B
Authority
CN
China
Prior art keywords
group
code
mask
terminal
target
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
CN201910770863.XA
Other languages
Chinese (zh)
Other versions
CN110365501A (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.)
Guangzhou Huaduo Network Technology Co Ltd
Original Assignee
Guangzhou Huaduo Network 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 Guangzhou Huaduo Network Technology Co Ltd filed Critical Guangzhou Huaduo Network Technology Co Ltd
Priority to CN201910770863.XA priority Critical patent/CN110365501B/en
Publication of CN110365501A publication Critical patent/CN110365501A/en
Application granted granted Critical
Publication of CN110365501B publication Critical patent/CN110365501B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06KGRAPHICAL DATA READING; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
    • G06K19/00Record carriers for use with machines and with at least a part designed to carry digital markings
    • G06K19/06Record 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/06009Record 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/06037Record 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/02Details
    • H04L12/16Arrangements for providing special services to substations
    • H04L12/18Arrangements for providing special services to substations for broadcast or conference, e.g. multicast
    • H04L12/1813Arrangements for providing special services to substations for broadcast or conference, e.g. multicast for computer conferences, e.g. chat rooms
    • H04L12/1822Conducting the conference, e.g. admission, detection, selection or grouping of participants, correlating users to one or more conference sessions, prioritising transmission
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/02Details
    • H04L12/16Arrangements for providing special services to substations
    • H04L12/18Arrangements for providing special services to substations for broadcast or conference, e.g. multicast
    • H04L12/185Arrangements for providing special services to substations for broadcast or conference, e.g. multicast with management of multicast group membership
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L51/00User-to-user messaging in packet-switching networks, transmitted according to store-and-forward or real-time protocols, e.g. e-mail
    • H04L51/04Real-time or near real-time messaging, e.g. instant messaging [IM]
    • H04L51/046Interoperability with other network applications or services
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0816Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
    • H04L9/0819Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s)
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0861Generation of secret information including derivation or calculation of cryptographic keys or passwords
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0894Escrow, recovery or storing of secret information, e.g. secret key escrow or cryptographic key storage
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3236Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using cryptographic hash functions

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Security & Cryptography (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Information Transfer Between Computers (AREA)
  • Storage Device Security (AREA)

Abstract

The application discloses a method and a device for group joining processing based on a graphic code, and belongs to the field of internet. The method comprises the following steps: the method comprises the steps that a first terminal sends a group graphic code request to a server, receives a group mask code sent by the server, generates a feature code of the group mask code, conducts confusion operation on a communication key and the group mask code to obtain a confusion code, generates the graphic code based on the confusion code and the feature code, a second terminal reads the graphic code and sends a group joining request to the server, after the server receives the confusion code, if the feature code of the group mask code is the same as the feature code in the group joining request, an account of the second terminal is joined into a target group, the group mask code is sent to the second terminal, and the second terminal determines the communication key based on the confusion code and the group mask code. According to the method, the user side can join the group and acquire the communication key of the group by scanning the two-dimensional code under the condition that the server side does not know the group password. Thus, the information security of the group can be improved.

Description

Method and device for group joining processing based on graphic code
Technical Field
The present application relates to the field of internet, and in particular, to a method and an apparatus for group join processing based on a graphic code.
Background
The graphic code records data by using a graphic, and automatic processing of data information can be realized by automatic identification of scanning equipment, for example, processing of joining a group can be triggered and executed by scanning a two-dimensional code. In the encryption group, the communication key is used for encrypting and decrypting the communication content of the group members in the communication process, and the communication key of the group can be obtained when the terminal scans codes into the group.
The current technology for acquiring the communication key by the terminal is as follows: and generating a group two-dimensional code by using information such as the group identification, the validity period and the like, after the terminal scans the two-dimensional code, the server verifies whether the group validity period is expired or not, if not, the verification is successful, and the terminal account enters the group. Then, the server transmits the communication key to the terminal.
In the process of implementing the present application, the inventor finds that the prior art has at least the following problems:
the server stores the communication key of the group, and operation and maintenance personnel can easily acquire the instant communication message of the group, so that the information security of the group can be influenced.
Disclosure of Invention
The embodiment of the application provides a method and a device for group joining processing based on a graphic code, which can solve the problem that a server stores a communication key of a group, and operation and maintenance personnel can easily acquire an instant communication message of the group, so that the information security of the group is affected. The technical scheme is as follows:
in one aspect, a method for group join processing based on a graphic code is provided, and the method includes:
a first terminal sends a group graphic code request to a server, wherein the group graphic code request carries a group identifier of a target group;
the server acquires a group mask of the target group and sends the group mask to the first terminal;
the first terminal generates a feature code corresponding to the group mask;
the first terminal acquires a locally stored communication key of the target group, and performs confusion operation on the communication key and the group mask to obtain a confusion code;
the first terminal generates a graphic code of the target group based on the confusion code, the feature code and the group identification;
the second terminal reads the confusion code, the feature code and the group identification of the target group carried in the graphic code;
the second terminal sends a group joining request to the server, wherein the group joining request carries a feature code and the group identifier of the target group;
if the feature code of the group mask code is the same as the feature code carried in the group joining request, the server joins the account logged in by the second terminal into the target group and sends the group mask code to the second terminal;
the second terminal determines a communication key of the target group based on the obfuscation code and the group mask.
In another aspect, a method for performing group join processing based on a graphic code is provided, where the method is applied to a first terminal, and includes:
sending a group graphic code request to a server, wherein the group graphic code request carries a group identifier of a target group;
receiving a group mask of the target group sent by the server;
generating a feature code corresponding to the group mask;
acquiring a locally stored communication key of the target group, and performing confusion operation on the communication key and the group mask to obtain a confusion code;
and generating the graphic code of the target group based on the confusion code, the feature code and the group identification.
Optionally, the generating the feature code corresponding to the group mask includes generating a hash value of the group mask as the feature code corresponding to the group mask.
Optionally, after generating the graphic code of the target group based on the confusion code, the feature code and the group identifier, the method further includes sending the graphic code to a target terminal.
In another aspect, a method for group joining processing based on a graphic code is provided, where the method is applied to a server and includes:
receiving a group graphic code request sent by a first terminal, wherein the group graphic code request carries a group identifier of a target group;
acquiring a group mask of the target group, and sending the group mask to the first terminal;
receiving a group joining request sent by a second terminal, wherein the group joining request carries a feature code and a group identifier of the target group;
and if the feature code of the group mask code is the same as the feature code carried in the group joining request, joining the account logged in by the second terminal into the target group, and sending the group mask code to the second terminal.
Optionally, the feature code carried in the group join request is a hash value, and if the feature code of the group mask code is the same as the feature code carried in the group join request, adding the account logged in by the second terminal to the target group, and sending the group mask code to the second terminal includes:
generating a hash value of the group mask;
and if the hash value is the same as the hash value carried in the group joining request, joining the account logged by the second terminal into the target group, and sending the group mask to the second terminal.
In another aspect, a method for performing group join processing based on a graphic code is provided, where the method is applied to a second terminal, and includes:
reading a confusion code, a feature code and a group identifier of a target group carried in a graphic code, wherein the confusion code is obtained by carrying out confusion operation on a group mask and a communication key of the target group;
sending a group joining request to a server, wherein the group joining request carries the feature code and the group identifier;
receiving a group mask of the target group sent by the server;
determining a communication key for the target group based on the obfuscation code and the group mask.
Optionally, before reading the confusion code, the feature code, and the group identifier of the target group carried in the graphic code, the method further includes receiving the graphic code.
In another aspect, an apparatus for performing group join processing based on a graphic code is provided, and the apparatus includes:
the sending module is used for sending a group graphic code request to a server, wherein the group graphic code request carries a group identifier of a target group;
a receiving module, configured to receive a group mask of the target group sent by the server;
the generating module is used for generating the feature codes corresponding to the group masks;
the acquisition module is used for acquiring a locally stored communication key of the target group and performing confusion operation on the communication key and the group mask to obtain a confusion code;
and the generating module is further used for generating the graphic code of the target group based on the confusion code, the feature code and the group identification.
Optionally, the generating module is further configured to generate a hash value of the group mask as a feature code corresponding to the group mask.
Optionally, the sending module is further configured to send the graphic code to a target terminal.
In another aspect, an apparatus for performing group join processing based on a graphic code is provided, and the apparatus includes:
the receiving module is used for receiving a group graphic code request sent by a first terminal, wherein the group graphic code request carries a group identifier of a target group;
a generating module, configured to obtain a group mask of the target group, and send the group mask to the first terminal;
the receiving module is further configured to receive a group join request sent by a second terminal, where the group join request carries a feature code and a group identifier of the target group;
and the sending module is used for adding the account logged by the second terminal into the target group and sending the group mask to the second terminal if the feature code of the group mask is the same as the feature code carried in the group adding request.
Optionally, the feature code carried in the group join request is a hash value, and the sending module is further configured to:
generating a hash value of the group mask;
and if the hash value is the same as the hash value carried in the group joining request, joining the account logged by the second terminal into the target group, and sending the group mask to the second terminal.
In another aspect, an apparatus for performing group join processing based on a graphic code is provided, and the apparatus includes:
the reading module is used for reading an obfuscation code, a feature code and a group identifier of a target group carried in the graphic code, wherein the obfuscation code is obtained by performing obfuscation operation on a group mask and a communication key of the target group;
a sending module, configured to send a group join request to a server, where the group join request carries the feature code and the group identifier;
a receiving module, configured to receive a group mask of the target group sent by the server;
a determining module to determine a communication key for the target group based on the obfuscation code and the group mask.
Optionally, the receiving module is further configured to receive the graphic code.
In another aspect, a system for group joining processing based on a graphic code is provided, where the system includes a first terminal, a second terminal, and a server, where:
the first terminal sends the group graphic code request to the server, wherein the group graphic code request carries the group identifier of the target group; receiving a group mask of the target group sent by the server; generating a feature code corresponding to the group mask; acquiring a locally stored communication key of the target group, and performing confusion operation on the communication key and the group mask to obtain a confusion code; generating a graphic code of the target group based on the confusion code, the feature code and the group identification;
the server receives the group graphic code request sent by the first terminal, acquires the group mask of the target group, and sends the group mask to the first terminal; receiving the group joining request sent by the second terminal, wherein the group joining request carries a feature code and the group identifier of the target group; if the feature code of the group mask code is the same as the feature code carried in the group joining request, joining the account logged in by the second terminal into the target group, and sending the group mask code to the second terminal;
the second terminal reads the confusion code, the feature code and the group identification of the target group carried in the graphic code; sending the group join request to the server; receiving a group mask of the target group sent by the server; determining a communication key for the target group based on the obfuscation code and the group mask.
In still another aspect, a computer device is provided, which includes a processor and a memory, where the memory stores at least one instruction, and the instruction is loaded and executed by the processor to implement the operations performed by the method for group join processing based on graphic code as described above.
In still another aspect, a computer-readable storage medium is provided, wherein at least one instruction is stored in the storage medium, and the instruction is loaded and executed by a processor to implement the operations performed by the method for group join processing based on graphic code as described above.
The technical scheme provided by the embodiment of the application has the following beneficial effects:
in the embodiment of the application, the first terminal performs a confusion operation on the communication key and the group mask of the target group to obtain a confusion code, performs a hash operation on the group mask to obtain a feature code, and generates the graphic code according to the confusion code and the feature code. The server verifies whether the feature code obtained by scanning the graphic code by the second terminal is the same as the feature code obtained by the operation of the server, and if so, the server passes the verification and sends a group mask to the second terminal. And the second terminal carries out operation according to the group mask to obtain the communication key. In the whole process, the server side cannot acquire the communication key of the target group. The method and the device realize that the user side can obtain the communication key of the group by scanning the two-dimensional code under the condition that the server side does not know the group password. Thus, the information security of the group can be improved.
Drawings
In order to more clearly illustrate the technical solutions in the embodiments of the present application, the drawings needed to be used in the description of the embodiments are briefly introduced below, and it is obvious that the drawings in the following description are only some embodiments of the present application, and it is obvious for those skilled in the art to obtain other drawings based on these drawings without creative efforts.
Fig. 1 is a schematic diagram of an implementation environment for performing group join processing based on a graphics code according to an embodiment of the present disclosure;
fig. 2 is a flowchart of a method for group join processing based on a graphic code according to an embodiment of the present disclosure;
fig. 3 is a flowchart of a method for group join processing based on a graphic code according to an embodiment of the present disclosure;
fig. 4 is a flowchart of a method for performing group join processing based on a graphic code according to an embodiment of the present application;
fig. 5 is a flowchart illustrating interaction between a server and a terminal in a method for group join processing based on a graphic code according to an embodiment of the present application;
fig. 6 is a flowchart illustrating interaction between a server and a terminal in a method for group join processing based on a graphic code according to an embodiment of the present application;
fig. 7 is a schematic structural diagram of an apparatus for performing group join processing based on a graphics code according to an embodiment of the present application;
fig. 8 is a schematic structural diagram of an apparatus for performing group join processing based on a graphics code according to an embodiment of the present application;
fig. 9 is a schematic structural diagram of an apparatus for performing group join processing based on a graphics code according to an embodiment of the present application;
fig. 10 is a block diagram of a terminal according to an embodiment of the present disclosure;
fig. 11 is a schematic structural diagram of a server according to an embodiment of the present application.
Detailed Description
To make the objects, technical solutions and advantages of the present application more clear, embodiments of the present application will be described in further detail below with reference to the accompanying drawings.
Fig. 1 is a schematic diagram of an implementation environment for performing group join processing based on a graphics code according to an embodiment of the present application. Referring to fig. 1, the method for group join processing based on a graphic code provided by the present application may be implemented by a terminal and a server together, where the terminal includes a first terminal and a second terminal. The terminal can run an application program with a group chat function, such as an instant messaging application program, can be provided with a camera and other components, has a communication function and can be accessed to the internet, and can be a mobile phone, a tablet personal computer, intelligent wearable equipment, a desktop computer, a notebook computer and the like. The server can be a background server of the application program, and the server can be communicated with the terminal. The server may be a single server or a server group, and if the server is a single server, the server may be responsible for all processing in the following scheme, and if the server is a server group, different servers in the server group may be respectively responsible for different processing in the following scheme, and the specific processing allocation condition may be arbitrarily set by a technician according to actual needs, and is not described herein again.
The user operation terminal starts an instant messaging application program, logs in a user account, and a communication list, a search box above the interface, a plus sign label at the upper right corner of the interface and the like are displayed on the interface of the instant messaging application program, wherein the communication list comprises labels of contacts, public numbers, groups and the like. If the user wants to create a group or join the group, the user can click the plus sign label at the upper right corner of the interface, and then the upper right corner displays labels for creating group chat, adding friends/groups, scanning a scan and the like. When the user creates the target group, the user is the group owner of the target group, the instant messaging application program can automatically generate the communication key of the target group, the communication key is stored in the instant messaging application program, namely, the instant messaging application program is local, and the communication key is not uploaded to the server. Meanwhile, the server may randomly generate a group mask of the communication key, store the group mask in the server, and store the generated group mask and the group identifier of the target group in a correspondence table established in advance. The created target group appears in a communication list of the instant messaging application program interface.
The user can operate the terminal to click a target group label in a communication list in the interface, the instant messaging application program displays a group page of a target group, communication contents, input boxes and the like of group members are displayed in the group page, the user can operate the terminal to input contents to be sent in the input boxes, and the contents input by the user are displayed in the group page when the user clicks to send. Each group member in the target group has a communication secret key, and the communication secret key encrypts and decrypts communication contents in the communication process of the group members. When a group member wants to send a message, a terminal operated by the group member acquires a communication key stored in an instant communication application program of the group member, encrypts and encapsulates the message through an encryption algorithm and then transmits the message to a server, the server forwards the encrypted and encapsulated message to terminals operated by other group members, the terminals operated by other group members acquire the communication key stored in the respective instant communication application program when receiving the message, decrypt and unseal the message through a decryption algorithm, and the message content sent by the group member is displayed in a group page.
The group owner of the group can operate the terminal thereof to generate the graphic code of the target group, and after the graphic code is generated, the group owner can share the graphic code to the group and can also share the graphic code to other friends in the communication list. After the group owner shares the graphic code to the group, the group member can save the graphic code to the local and can also forward the graphic code to friends in the own communication list. When a group owner establishes a group, a communication key of the group can be generated, a graphic code of the group can be generated and sent to other users, other users can join the group by scanning the graphic code and acquire the communication key of the group, any group member in the group can share the graphic code of the group to other users subsequently, and other users can join the group by scanning the graphic code and acquire the communication key of the group. The embodiment of the present application takes the process of sharing the graphic code by the group owner as an example, and other situations are similar and will not be described again.
According to the method for group joining processing based on the graphic code, provided by the embodiment of the application, under the condition that the server does not know the communication key of the target group, the first terminal sends a group graphic code request to the server to generate the graphic code of the target group, wherein the graphic code can be a two-dimensional code, a bar code and the like. When the second terminal wants to join the target group, the second terminal can scan the graphic code, send a group owner joining request to the server, enter the target group and acquire the communication key of the target group. In the embodiment of the present application, the scheme is described in detail by taking an instant messaging application as an example, and other situations are similar and will not be described again. And the terminal is provided with an instant messaging application program. The group can be created in the instant communication application program, the graphic code of the group can be generated, the graphic code can be scanned, the messages of the group members can be sent and received, the encryption and the decryption are carried out in the message transmission process, and the chat content of the group members is displayed on the interface of the instant communication application program.
Fig. 2 is a flowchart of a first terminal side in a method for performing group join processing based on a graphic code according to an embodiment of the present application. Referring to fig. 2, the embodiment includes:
step 201, sending a group graphic code request to a server, where the group graphic code request carries a group identifier of a target group.
Step 202, receiving the group mask of the target group sent by the server.
Step 203, generating the feature code corresponding to the group mask.
Step 204, obtaining the locally stored communication key of the target group, and performing a confusion operation on the communication key and the group mask to obtain a confusion code.
Step 205, generating a graphic code of the target group based on the obfuscating code, the feature code and the group identifier.
Fig. 3 is a flowchart of a server side in a method for group join processing based on a graphic code according to an embodiment of the present application. Referring to fig. 3, the embodiment includes:
step 301, receiving a group graphic code request sent by a first terminal, where the group graphic code request carries a group identifier of a target group.
Step 302, obtaining the group mask of the target group, and sending the group mask to the first terminal.
Step 303, receiving a group join request sent by the second terminal, where the group join request carries the feature code and the group identifier of the target group.
Step 304, if the feature code of the group mask code is the same as the feature code carried in the group join request, adding the account logged in by the second terminal into the target group, and sending the group mask code to the second terminal.
Fig. 4 is a flowchart of a second terminal side in a method for performing group join processing based on a graphic code according to an embodiment of the present application. Referring to fig. 4, the embodiment includes:
step 401, reading the confusion code, the feature code and the group identifier of the target group carried in the graphic code, wherein the confusion code is obtained by performing confusion operation on the group mask and the communication key of the target group.
Step 402, sending a group join request to a server, where the group join request carries the feature code and the group identifier.
Step 403, receiving the group mask of the target group sent by the server.
Step 404, determining a communication key of the target group based on the obfuscation code and the group mask.
Fig. 5 is a flowchart illustrating interaction between a server and a terminal in a method for group join processing based on a graphic code according to an embodiment of the present application. Referring to fig. 5, the embodiment includes:
step 501, the first terminal sends a group graphic code request to the server.
The first terminal is the end of the target group that generates the group graphic code, and may be a group owner or a group administrator. The graphic code is a graphic for carrying data, and can be automatically identified by scanning equipment to realize automatic processing of data information, for example, processing for joining a group can be triggered and executed by scanning a two-dimensional code. The graphic code can be a two-dimensional code, a three-dimensional code, a bar code and the like. The group graphic code request carries a group identifier of a target group, and the group identifier includes group account information.
In the implementation, the group owner operates the first terminal to start the instant messaging application program and log in the first account, a communication list is displayed on an interface of the instant messaging application program, and a group page is displayed on the interface when a group label in the communication list is clicked. The group page is provided with a tag for generating the group graphic code, and a group owner can click the tag, trigger the terminal to generate a group graphic code request, add the group identifier of the target group in the group graphic code request, and then send the group graphic code request to the server.
Step 502, the server obtains the group mask of the target group and sends the group mask to the first terminal.
Where the group mask is a mask of the communication key of the target group, the group mask may be a randomly generated binary string. The communication key is a string of digital codes with specified length randomly generated by the instant communication application program when a group owner creates a target group, and is used for encrypting communication contents when all parties in the group communicate, so that the communication contents are not stolen during the communication process of all the communication parties.
In implementation, when the group owner creates the target group, the server may randomly generate a group mask, and store the generated group mask and the group identifier of the target group in a correspondence table established in advance. After receiving the group pattern code request sent by the first terminal, the server may search the group mask of the target group in the group identifier and group mask correspondence table of the target group according to the group identifier of the target group carried in the group pattern code request, and send the group mask to the first terminal.
Optionally, after receiving the group pattern code request sent by the first terminal, the server may also generate a group mask of the target group according to the group identifier of the target group carried in the group pattern code request, and send the group mask to the first terminal.
In step 503, the first terminal generates a feature code corresponding to the group mask.
The feature code corresponding to the group mask may be a hash value obtained by performing a hash operation on the group mask, and the hash operation is irreversible.
In implementation, after receiving a group mask of a target group sent by a server, a first terminal generates a hash value of the group mask through a hash operation, as a feature code corresponding to the group mask.
Step 504, the first terminal obtains the locally stored communication key of the target group, and performs a confusion operation on the communication key and the group mask to obtain a confusion code.
The obfuscation operation is to encrypt the communication key by using an obfuscation encryption algorithm, and the obfuscation operation may be an exclusive-or operation, and the obfuscation operation may be an inverse operation. The local storage may be for storage at an instant messaging application. The communication key is generated by the group owner terminal when creating the target group, and can be a string of randomly generated digital codes with specified length, when the group owner generates the graphic code, the graphic code can be sent to other friends, and the other friends can obtain the communication key of the target group after entering the group by scanning the graphic code.
In implementation, when the terminal of the group owner, i.e. the first terminal, is creating the target group, the instant messaging application may automatically generate the communication key of the target group, and store it locally in the instant messaging application. After the first terminal obtains the group mask of the target group, the first terminal can obtain the locally stored communication key, and performs the confusion operation on the communication key and the group mask to obtain the confusion code.
For example, the communication key acquired by the first terminal into the target group may be 11110000, the group mask may be 10001110, the obfuscating operation may be an exclusive-or operation, and the communication key and the group mask are subjected to the exclusive-or operation, that is, the communication key and the group mask are equal to 0 and not equal to 1, so that the obfuscated code is 01111110.
In step 505, the first terminal generates a graphic code of the target group based on the confusion code, the feature code and the group identifier.
In the implementation, the instant messaging application program comprises a graphic code generation algorithm, and the graphic code is preset with a certain digit. In this embodiment, the graphic code at least includes a first field, a second field and a third field, the first field may be used for recording the obfuscation code, the second field may be used for recording the feature code, and the third field may be used for recording the group identifier. The graphic code generation algorithm can set '1' to represent black and '0' to represent white, and the first terminal generates the graphic code of the target group by using the graphic code generation algorithm and sends the graphic code to the target terminal. The target terminal may be a second terminal described below.
For example, after the group owner operates the first terminal to generate the graphic code of the target group, the graphic code appears on the target group interface in the instant messaging application program through the processing of the above steps. The group owner can share the graphic code to the group and can also share the graphic code to other friends in the communication list. After the group owner shares the graphic code to the group, the group member can save the graphic code to the local and can also forward the graphic code to friends in the own communication list.
In step 506, the second terminal reads the confusion code, the feature code and the group identifier of the target group carried in the graphic code.
The second terminal is a terminal that wants to join the target group.
In implementation, when a user wants to join the target group, the second terminal may be operated to start the instant messaging application and log in the second account. The instant messaging application program is provided with an option for scanning a group graphic code, after the second terminal receives the graphic code of the target group, a user operates the second terminal to scan the graphic code, the second terminal firstly recognizes the graphic code into binary number, then obtains the numerical value of each field in the binary number, obtains the confusion code recorded by the first field, the feature code recorded by the second field and the group identifier recorded by the third field, and thus reads the confusion code, the feature code and the group identifier of the target group carried in the graphic code.
Step 507, the second terminal sends a group join request to the server.
The group joining request carries the feature code and the group identifier of the target group.
In implementation, after a user operates a second terminal to scan a graphic code of a target group, the second terminal obtains a confusion code, a feature code and a group identifier of the target group, which are carried in the graphic code, and then the second terminal can generate a group join request, add the feature code and the group identifier of the target group, and then send the group join request to a server.
Step 508, if the feature code of the group mask code is the same as the feature code carried in the group join request, adding the account logged in by the second terminal into the target group, and sending the group mask code to the second terminal.
In implementation, after receiving the group join request sent by the second terminal, the server analyzes the group join request, obtains the group identifier and the feature code of the target group carried in the group join request, and further obtains the group mask of the target group according to the group identifier of the target group. And the server performs hash operation according to the group mask of the target group to generate a hash value of the group mask. Then, the server may compare the generated hash value with the hash value carried in the group join request, and if the generated hash value is the same as the hash value carried in the group join request, may determine the authenticity of the graphic code of the target group scanned by the second terminal, at this time, may join the second account logged in by the second terminal into the target group, and send a group mask to the second terminal.
In step 509, the second terminal determines the communication key of the target group based on the obfuscation code and the group mask.
In implementation, after receiving the group mask of the target group sent by the server, the second terminal may obtain the communication key of the target group through an obfuscating inverse operation according to the group mask of the target group and the obfuscating code carried in the graphic code read in step 506.
For example, the group mask of the target group received by the second terminal may be 10001110, the obfuscating code may be obtained by performing an exclusive-or operation on the communication key and the group mask, and the obfuscating code carried in the graphic code may be 01111110, and then the communication key of the target group may be 11110000 by performing an exclusive-or inversion operation, that is, performing an exclusive-or operation once.
Fig. 6 shows an example of an interaction flow between a server and a terminal in the method for performing group join processing based on a graphic code. As shown in fig. 6, the communication key may be a group cipher, and the graphic code may be a two-dimensional code. When a group owner creates an end-to-end encryption group, a group password is automatically generated and stored locally, the group password can be recorded as psw, the group password is not uploaded to a server, the group server only generates a random mask of the group password at the beginning of creating the group, and the mask can be recorded as mask. When a group owner or a group member wants to generate a two-dimensional code of the group, other users can scan the two-dimensional code into the group, a request for generating the two-dimensional code is sent to the group server, and a mask code of the group is pulled. The group owner end conducts confusion operation on the group password stored locally and the mask of the group to obtain a confusion code, the confusion code can be recorded as psw ^ mask, meanwhile, the mask of the group is conducted with hash operation to obtain a hash value of the mask, the hash operation can be recorded as hash operation, the hash value of the mask can be recorded as mask _ hash, the operation results of the two parts are used as one part of the two-dimensional code, and the two-dimensional code of the group is generated. When the code scanner group enters the two-dimensional code, the confusion code psw ^ mask and the hash value of the mask _ hash can be read. And then the client uploads the hash value to the group server to be used as group entering verification. The cluster server extracts the stored mask of the cluster, performs hash operation to obtain a hash (mask) value, compares the hash (mask) value with a mask _ hash value uploaded by the client, if the hash (mask) value is the same as the mask _ hash value uploaded by the client, the client is considered to scan a correct two-dimensional code, and then the cluster server returns the mask of the cluster to the client. And after receiving the mask of the group, the user side performs inverse operation by using the mask of the group and the confusion operation result read in the two-dimensional code, the inverse operation can be recorded as psw ^ mask ^ mask, the group password of the group is obtained, and the group password is stored.
The technical scheme provided by the embodiment of the application has the following beneficial effects:
in the embodiment of the application, the first terminal performs a confusion operation on the communication key and the group mask of the target group to obtain a confusion code, performs a hash operation on the group mask to obtain a feature code, and generates the graphic code according to the confusion code and the feature code. The server verifies whether the feature code obtained by scanning the graphic code by the second terminal is the same as the feature code obtained by the operation of the server, and if so, the server passes the verification and sends a group mask to the second terminal. And the second terminal carries out operation according to the group mask to obtain the communication key. In the whole process, the server side cannot acquire the communication key of the target group. The method and the device realize that the user side can obtain the communication key of the group by scanning the two-dimensional code under the condition that the server side does not know the group password. Thus, the information security of the group can be improved
All the above optional technical solutions may be combined arbitrarily to form the optional embodiments of the present disclosure, and are not described herein again.
An embodiment of the present application provides a device for performing group join processing based on a graphics code, where the device may be a first terminal in the foregoing embodiment, as shown in fig. 7, fig. 7 is a schematic structural diagram of a device for performing group join processing based on a graphics code, and the device includes:
a sending module 701, configured to send a group graphic code request to a server, where the group graphic code request carries a group identifier of a target group;
a receiving module 702, configured to receive a group mask of the target group sent by the server;
a generating module 703, configured to generate a feature code corresponding to the group mask;
an obtaining module 704, configured to obtain a locally stored communication key of the target group, and perform a confusion operation on the communication key and the group mask to obtain a confusion code;
the generating module 703 is further configured to generate a graphic code of the target group based on the obfuscation code, the feature code, and the group identifier.
Optionally, the generating module 703 is further configured to generate a hash value of the group mask as a feature code corresponding to the group mask.
Optionally, the sending module 701 is further configured to send the graphic code to a target terminal.
An embodiment of the present application provides a device for performing group join processing based on a graphics code, where the device may be a server in the foregoing embodiment, as shown in fig. 8, fig. 8 is a schematic structural diagram of a device for performing group join processing based on a graphics code, and the device includes:
a receiving module 801, configured to receive a group graphic code request sent by a first terminal, where the group graphic code request carries a group identifier of a target group;
an obtaining module 802, configured to obtain a group mask of the target group, and send the group mask to the first terminal;
a receiving module 801, configured to receive a group join request sent by a second terminal, where the group join request carries a feature code and a group identifier of the target group;
a sending module 803, configured to add the account logged in by the second terminal to the target group and send the group mask to the second terminal if the feature code of the group mask is the same as the feature code carried in the group join request.
Optionally, the feature code carried in the group join request is a hash value, and the sending module 803 is further configured to:
generating a hash value of the group mask;
and if the hash value is the same as the hash value carried in the group joining request, joining the account logged by the second terminal into the target group, and sending the group mask to the second terminal.
An embodiment of the present application provides a device for performing group join processing based on a graphics code, where the device may be a second terminal in the foregoing embodiment, as shown in fig. 9, fig. 9 is a schematic structural diagram of a device for performing group join processing based on a graphics code, and the device includes:
a reading module 901, configured to read an obfuscated code, a feature code, and a group identifier of a target group carried in a graphic code, where the obfuscated code is obtained by performing an obfuscation operation on a group mask and a communication key of the target group;
a sending module 902, configured to send a group join request to a server, where the group join request carries the feature code and the group identifier;
a receiving module 903, configured to receive the group mask of the target group sent by the server;
a determining module 904, configured to determine a communication key of the target group based on the obfuscation code and the group mask.
Optionally, the receiving module 903 is further configured to receive the graphic code.
It should be noted that: in the device for performing group join processing based on a graphics code according to the foregoing embodiment, when performing group join processing based on a graphics code, only the division of the functional modules is illustrated, and in practical applications, the function distribution may be completed by different functional modules according to needs, that is, the internal structure of the device is divided into different functional modules, so as to complete all or part of the functions described above. In addition, the apparatus for performing group join processing based on a graphic code and the method embodiment for performing group join processing based on a graphic code provided in the above embodiments belong to the same concept, and the specific implementation process thereof is detailed in the method embodiment and is not described herein again.
The embodiment of the present application further provides a system for performing group join processing based on a graphic code, where the system includes a first terminal, a second terminal, and a server, where:
the first terminal sends a group graphic code request to the server, wherein the group graphic code request carries a group identifier of a target group; receiving a group mask of a target group sent by a server; generating a feature code corresponding to the group mask; acquiring a locally stored communication key of a target group, and performing confusion operation on the communication key and a group mask to obtain a confusion code; generating a graphic code of the target group based on the confusion code, the feature code and the group identification;
the server receives a group graphic code request sent by the first terminal, acquires a group mask of a target group and sends the group mask to the first terminal; receiving a group joining request sent by a second terminal, wherein the group joining request carries a feature code and a group identifier of a target group; if the feature code of the group mask code is the same as the feature code carried in the group joining request, adding the account logged in by the second terminal into the target group, and sending the group mask code to the second terminal;
the second terminal reads the confusion code, the feature code and the group identification of the target group carried in the graphic code; sending a group joining request to a server; receiving a group mask of a target group sent by a server; based on the obfuscation code and the group mask, a communication key of the target group is determined.
Fig. 10 shows a block diagram of a terminal 1000 according to an exemplary embodiment of the present application, where the terminal may be the first terminal or the second terminal in the foregoing embodiments. The terminal 1000 can be: a smart phone, a tablet computer, an MP3 player (Moving Picture Experts Group Audio Layer III, motion video Experts compression standard Audio Layer 3), an MP4 player (Moving Picture Experts Group Audio Layer IV, motion video Experts compression standard Audio Layer 4), a notebook computer, or a desktop computer. Terminal 1000 can also be referred to as user equipment, portable terminal, laptop terminal, desktop terminal, or the like by other names.
In general, terminal 1000 can include: a processor 1001 and a memory 1002.
Processor 1001 may include one or more processing cores, such as a 4-core processor, an 8-core processor, and so forth. The processor 1001 may be implemented in at least one hardware form of a DSP (Digital Signal Processing), an FPGA (Field-Programmable Gate Array), and a PLA (Programmable Logic Array). The processor 1001 may also include a main processor and a coprocessor, where the main processor is a processor for Processing data in an awake state, and is also referred to as a Central Processing Unit (CPU); a coprocessor is a low power processor for processing data in a standby state. In some embodiments, the processor 1001 may be integrated with a GPU (Graphics Processing Unit), which is responsible for rendering and drawing the content required to be displayed on the display screen. In some embodiments, the processor 1001 may further include an AI (Artificial Intelligence) processor for processing a computing operation related to machine learning.
Memory 1002 may include one or more computer-readable storage media, which may be non-transitory. The memory 1002 may also include high-speed random access memory, as well as non-volatile memory, such as one or more magnetic disk storage devices, flash memory storage devices. In some embodiments, a non-transitory computer readable storage medium in the memory 1002 is configured to store at least one instruction for execution by the processor 1001 to implement the method for group join processing based on graphical code provided by the method embodiments of the present application.
In some embodiments, terminal 1000 can also optionally include: a peripheral interface 1003 and at least one peripheral. The processor 1001, memory 1002 and peripheral interface 1003 may be connected by a bus or signal line. Various peripheral devices may be connected to peripheral interface 1003 via a bus, signal line, or circuit board. Specifically, the peripheral device includes: at least one of radio frequency circuitry 1004, touch screen display 1005, camera 1006, audio circuitry 1007, positioning components 1008, and power supply 1009.
The peripheral interface 1003 may be used to connect at least one peripheral related to I/O (Input/Output) to the processor 1001 and the memory 1002. In some embodiments, processor 1001, memory 1002, and peripheral interface 1003 are integrated on the same chip or circuit board; in some other embodiments, any one or two of the processor 1001, the memory 1002, and the peripheral interface 1003 may be implemented on separate chips or circuit boards, which are not limited by this embodiment.
The Radio Frequency circuit 1004 is used for receiving and transmitting RF (Radio Frequency) signals, also called electromagnetic signals. The radio frequency circuitry 1004 communicates with communication networks and other communication devices via electromagnetic signals. The radio frequency circuit 1004 converts an electrical signal into an electromagnetic signal to transmit, or converts a received electromagnetic signal into an electrical signal. Optionally, the radio frequency circuit 1004 comprises: an antenna system, an RF transceiver, one or more amplifiers, a tuner, an oscillator, a digital signal processor, a codec chipset, a subscriber identity module card, and so forth. The radio frequency circuit 1004 may communicate with other terminals via at least one wireless communication protocol. The wireless communication protocols include, but are not limited to: metropolitan area networks, various generation mobile communication networks (2G, 3G, 4G, and 5G), Wireless local area networks, and/or WiFi (Wireless Fidelity) networks. In some embodiments, the rf circuit 1004 may further include NFC (Near Field Communication) related circuits, which are not limited in this application.
The display screen 1005 is used to display a UI (User Interface). The UI may include graphics, text, icons, video, and any combination thereof. When the display screen 1005 is a touch display screen, the display screen 1005 also has the ability to capture touch signals on or over the surface of the display screen 1005. The touch signal may be input to the processor 1001 as a control signal for processing. At this point, the display screen 1005 may also be used to provide virtual buttons and/or a virtual keyboard, also referred to as soft buttons and/or a soft keyboard. In some embodiments, display screen 1005 can be one, providing a front panel of terminal 1000; in other embodiments, display 1005 can be at least two, respectively disposed on different surfaces of terminal 1000 or in a folded design; in still other embodiments, display 1005 can be a flexible display disposed on a curved surface or on a folded surface of terminal 1000. Even more, the display screen 1005 may be arranged in a non-rectangular irregular figure, i.e., a shaped screen. The Display screen 1005 may be made of LCD (Liquid Crystal Display), OLED (Organic Light-Emitting Diode), and the like.
The camera assembly 1006 is used to capture images or video. Optionally, the camera assembly 1006 includes a front camera and a rear camera. Generally, a front camera is disposed at a front panel of the terminal, and a rear camera is disposed at a rear surface of the terminal. In some embodiments, the number of the rear cameras is at least two, and each rear camera is any one of a main camera, a depth-of-field camera, a wide-angle camera and a telephoto camera, so that the main camera and the depth-of-field camera are fused to realize a background blurring function, and the main camera and the wide-angle camera are fused to realize panoramic shooting and VR (Virtual Reality) shooting functions or other fusion shooting functions. In some embodiments, camera assembly 1006 may also include a flash. The flash lamp can be a monochrome temperature flash lamp or a bicolor temperature flash lamp. The double-color-temperature flash lamp is a combination of a warm-light flash lamp and a cold-light flash lamp, and can be used for light compensation at different color temperatures.
The audio circuit 1007 may include a microphone and a speaker. The microphone is used for collecting sound waves of a user and the environment, converting the sound waves into electric signals, and inputting the electric signals to the processor 1001 for processing or inputting the electric signals to the radio frequency circuit 1004 for realizing voice communication. For stereo sound collection or noise reduction purposes, multiple microphones can be provided, each at a different location of terminal 1000. The microphone may also be an array microphone or an omni-directional pick-up microphone. The speaker is used to convert electrical signals from the processor 1001 or the radio frequency circuit 1004 into sound waves. The loudspeaker can be a traditional film loudspeaker or a piezoelectric ceramic loudspeaker. When the speaker is a piezoelectric ceramic speaker, the speaker can be used for purposes such as converting an electric signal into a sound wave audible to a human being, or converting an electric signal into a sound wave inaudible to a human being to measure a distance. In some embodiments, the audio circuit 1007 may also include a headphone jack.
A Location component 1008 is employed to locate a current geographic Location of terminal 1000 for purposes of navigation or LBS (Location Based Service). The Positioning component 1008 may be a Positioning component based on the Global Positioning System (GPS) in the united states, the beidou System in china, the graves System in russia, or the galileo System in the european union.
Power supply 1009 is used to supply power to various components in terminal 1000. The power source 1009 may be alternating current, direct current, disposable batteries, or rechargeable batteries. When the power source 1009 includes a rechargeable battery, the rechargeable battery may support wired charging or wireless charging. The rechargeable battery may also be used to support fast charge technology.
In some embodiments, terminal 1000 can also include one or more sensors 1010. The one or more sensors 1010 include, but are not limited to: acceleration sensor 1011, gyro sensor 1012, pressure sensor 1013, fingerprint sensor 1014, optical sensor 1015, and proximity sensor 1016.
Acceleration sensor 1011 can detect acceleration magnitudes on three coordinate axes of a coordinate system established with terminal 1000. For example, the acceleration sensor 1011 may be used to detect components of the gravitational acceleration in three coordinate axes. The processor 1001 may control the touch display screen 1005 to display a user interface in a landscape view or a portrait view according to the gravitational acceleration signal collected by the acceleration sensor 1011. The acceleration sensor 1011 may also be used for acquisition of motion data of a game or a user.
The gyro sensor 1012 may detect a body direction and a rotation angle of the terminal 1000, and the gyro sensor 1012 and the acceleration sensor 1011 may cooperate to acquire a 3D motion of the user on the terminal 1000. From the data collected by the gyro sensor 1012, the processor 1001 may implement the following functions: motion sensing (such as changing the UI according to a user's tilting operation), image stabilization at the time of photographing, game control, and inertial navigation.
Pressure sensor 1013 may be disposed on a side frame of terminal 1000 and/or on a lower layer of touch display 1005. When pressure sensor 1013 is disposed on a side frame of terminal 1000, a user's grip signal on terminal 1000 can be detected, and processor 1001 performs left-right hand recognition or shortcut operation according to the grip signal collected by pressure sensor 1013. When the pressure sensor 1013 is disposed at a lower layer of the touch display screen 1005, the processor 1001 controls the operability control on the UI interface according to the pressure operation of the user on the touch display screen 1005. The operability control comprises at least one of a button control, a scroll bar control, an icon control and a menu control.
The fingerprint sensor 1014 is used to collect a fingerprint of the user, and the processor 1001 identifies the user according to the fingerprint collected by the fingerprint sensor 1014, or the fingerprint sensor 1014 identifies the user according to the collected fingerprint. Upon identifying that the user's identity is a trusted identity, the processor 1001 authorizes the user to perform relevant sensitive operations including unlocking a screen, viewing encrypted information, downloading software, paying, and changing settings, etc. Fingerprint sensor 1014 can be disposed on the front, back, or side of terminal 1000. When a physical key or vendor Logo is provided on terminal 1000, fingerprint sensor 1014 can be integrated with the physical key or vendor Logo.
The optical sensor 1015 is used to collect the ambient light intensity. In one embodiment, the processor 1001 may control the display brightness of the touch display screen 1005 according to the intensity of the ambient light collected by the optical sensor 1015. Specifically, when the ambient light intensity is high, the display brightness of the touch display screen 1005 is increased; when the ambient light intensity is low, the display brightness of the touch display screen 1005 is turned down. In another embodiment, the processor 1001 may also dynamically adjust the shooting parameters of the camera assembly 1006 according to the intensity of the ambient light collected by the optical sensor 1015.
Proximity sensor 1016, also known as a distance sensor, is typically disposed on a front panel of terminal 1000. Proximity sensor 1016 is used to gather the distance between the user and the front face of terminal 1000. In one embodiment, when proximity sensor 1016 detects that the distance between the user and the front surface of terminal 1000 gradually decreases, processor 1001 controls touch display 1005 to switch from a bright screen state to a dark screen state; when proximity sensor 1016 detects that the distance between the user and the front of terminal 1000 is gradually increased, touch display screen 1005 is controlled by processor 1001 to switch from a breath-screen state to a bright-screen state.
Those skilled in the art will appreciate that the configuration shown in FIG. 10 is not intended to be limiting and that terminal 1000 can include more or fewer components than shown, or some components can be combined, or a different arrangement of components can be employed.
Fig. 11 is a schematic structural diagram of a server according to an embodiment of the present application, where the server 1100 may generate a relatively large difference due to a difference in configuration or performance, and may include one or more processors (CPUs) 1101 and one or more memories 1102, where the memory 1102 stores at least one instruction, and the at least one instruction is loaded and executed by the processors 1101 to implement the methods provided by the above method embodiments. Of course, the server may also have components such as a wired or wireless network interface, a keyboard, and an input/output interface, so as to perform input/output, and the server may also include other components for implementing the functions of the device, which are not described herein again.
In an exemplary embodiment, a computer-readable storage medium, such as a memory, including instructions executable by a processor in a terminal to perform the method for group join processing based on a graphic code in the above embodiments is also provided. For example, the computer readable storage medium may be a ROM, a Random Access Memory (RAM), a CD-ROM, a magnetic tape, a floppy disk, an optical data storage device, and the like.
It will be understood by those skilled in the art that all or part of the steps for implementing the above embodiments may be implemented by hardware, or may be implemented by a program instructing relevant hardware, where the program may be stored in a computer-readable storage medium, and the above-mentioned storage medium may be a read-only memory, a magnetic disk or an optical disk, etc.
The above description is only exemplary of the present application and should not be taken as limiting the present application, as any modification, equivalent replacement, or improvement made within the spirit and principle of the present application should be included in the protection scope of the present application.

Claims (11)

1. A method for group joining processing based on graphic codes is characterized in that the method comprises the following steps:
a first terminal sends a group graphic code request to a server, wherein the group graphic code request carries a group identifier of a target group;
the server acquires a group mask of the target group and sends the group mask to the first terminal;
the first terminal generates a feature code corresponding to the group mask;
the first terminal acquires a locally stored communication key of the target group, and performs confusion operation on the communication key and the group mask to obtain a confusion code;
the first terminal generates a graphic code of the target group based on the confusion code, the feature code and the group identification;
the second terminal reads the confusion code, the feature code and the group identification of the target group carried in the graphic code;
the second terminal sends a group joining request to the server, wherein the group joining request carries a feature code and the group identifier of the target group;
if the feature code of the group mask code is the same as the feature code carried in the group joining request, the server joins the account logged in by the second terminal into the target group and sends the group mask code to the second terminal;
the second terminal determines a communication key of the target group based on the obfuscation code and the group mask.
2. A method for group joining processing based on graphic code is applied to a first terminal, and comprises the following steps:
sending a group graphic code request to a server, wherein the group graphic code request carries a group identifier of a target group;
receiving a group mask of the target group sent by the server;
generating a feature code corresponding to the group mask;
acquiring a locally stored communication key of the target group, and performing confusion operation on the communication key and the group mask to obtain a confusion code;
and generating the graphic code of the target group based on the confusion code, the feature code and the group identification.
3. The method of claim 2, wherein the generating the feature code corresponding to the group mask comprises:
and generating a hash value of the group mask as a feature code corresponding to the group mask.
4. A method for group joining processing based on graphic codes is applied to a server and comprises the following steps:
receiving a group graphic code request sent by a first terminal, wherein the group graphic code request carries a group identifier of a target group;
acquiring a group mask of the target group, and sending the group mask to the first terminal;
receiving a group joining request sent by a second terminal based on a graphic code, wherein the graphic code carries an obfuscation code, a feature code and a group identifier of a target group, the obfuscation code is obtained by performing obfuscation operation on a group mask of the target group and a communication key, and the group joining request carries the feature code and the group identifier of the target group;
and if the feature code of the group mask code is the same as the feature code carried in the group joining request, joining the account logged in by the second terminal into the target group, and sending the group mask code to the second terminal, wherein the group mask code is used for triggering the second terminal to determine the communication key of the target group based on the confusion code and the group mask code.
5. The method according to claim 4, wherein the feature code carried in the group join request is a hash value, and the adding the account logged by the second terminal to the target group and sending the group mask to the second terminal if the feature code of the group mask is the same as the feature code carried in the group join request comprises:
generating a hash value of the group mask;
and if the hash value is the same as the hash value carried in the group joining request, joining the account logged by the second terminal into the target group, and sending the group mask to the second terminal.
6. A method for group joining processing based on graphic code is characterized in that the method is applied to a second terminal and comprises the following steps:
reading a confusion code, a feature code and a group identifier of a target group carried in a graphic code, wherein the confusion code is obtained by carrying out confusion operation on a group mask and a communication key of the target group;
sending a group joining request to a server, wherein the group joining request carries the feature code and the group identifier;
receiving a group mask of the target group sent by the server;
determining a communication key for the target group based on the obfuscation code and the group mask.
7. An apparatus for performing group join processing based on a graphic code, comprising:
the sending module is used for sending a group graphic code request to a server, wherein the group graphic code request carries a group identifier of a target group;
a receiving module, configured to receive a group mask of the target group sent by the server;
the generating module is used for generating the feature codes corresponding to the group masks;
the acquisition module is used for acquiring a locally stored communication key of the target group and performing confusion operation on the communication key and the group mask to obtain a confusion code;
and the generating module is further used for generating the graphic code of the target group based on the confusion code, the feature code and the group identification.
8. An apparatus for performing group join processing based on a graphic code, comprising:
the receiving module is used for receiving a group graphic code request sent by a first terminal, wherein the group graphic code request carries a group identifier of a target group;
an obtaining module, configured to obtain a group mask of the target group, and send the group mask to the first terminal;
the receiving module is further configured to receive a group join request sent by a second terminal based on a graphical code, where the graphical code carries an obfuscating code, a feature code, and a group identifier of a target group, the obfuscating code is obtained by performing obfuscating operation on a group mask of the target group and a communication key, and the group join request carries the feature code and the group identifier of the target group;
a sending module, configured to add the account logged by the second terminal to the target group and send the group mask to the second terminal if the feature code of the group mask is the same as the feature code carried in the group join request, where the group mask is used to trigger the second terminal to determine the communication key of the target group based on the confusion code and the group mask.
9. An apparatus for performing group join processing based on a graphic code, comprising:
the reading module is used for reading an obfuscation code, a feature code and a group identifier of a target group carried in the graphic code, wherein the obfuscation code is obtained by performing obfuscation operation on a group mask and a communication key of the target group;
a sending module, configured to send a group join request to a server, where the group join request carries the feature code and the group identifier;
a receiving module, configured to receive a group mask of the target group sent by the server;
a determining module to determine a communication key for the target group based on the obfuscation code and the group mask.
10. A computer device comprising a processor and a memory, wherein the memory has stored therein at least one instruction that is loaded and executed by the processor to perform operations performed by the method for group join processing based on graphical code according to any one of claims 2 to 6.
11. A computer-readable storage medium having stored therein at least one instruction which is loaded and executed by a processor to perform operations performed by the method for group join processing based on graphic code according to any one of claims 2 to 6.
CN201910770863.XA 2019-08-20 2019-08-20 Method and device for group joining processing based on graphic code Active CN110365501B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201910770863.XA CN110365501B (en) 2019-08-20 2019-08-20 Method and device for group joining processing based on graphic code

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910770863.XA CN110365501B (en) 2019-08-20 2019-08-20 Method and device for group joining processing based on graphic code

Publications (2)

Publication Number Publication Date
CN110365501A CN110365501A (en) 2019-10-22
CN110365501B true CN110365501B (en) 2021-06-18

Family

ID=68224779

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910770863.XA Active CN110365501B (en) 2019-08-20 2019-08-20 Method and device for group joining processing based on graphic code

Country Status (1)

Country Link
CN (1) CN110365501B (en)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111062456A (en) * 2019-12-25 2020-04-24 李蕴光 Two-dimensional code encryption algorithm
CN114186214A (en) * 2020-09-14 2022-03-15 Oppo广东移动通信有限公司 Method, device, terminal and storage medium for binding account
CN114490107A (en) * 2020-11-13 2022-05-13 腾讯科技(深圳)有限公司 Group user migration method, device, equipment and storage medium
CN112801081B (en) * 2021-01-18 2024-07-05 王玉宏 Computer recognition method for answer sheet
CN113052285A (en) * 2021-03-29 2021-06-29 北京达佳互联信息技术有限公司 Two-dimensional code distribution method, device and equipment

Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104618334A (en) * 2014-12-29 2015-05-13 通邮(中国)科技有限公司 Method and system for generating and verifying dynamic two-dimensional code
CN105162603A (en) * 2015-09-15 2015-12-16 重庆智韬信息技术中心 Method for realizing distribution of two-dimensional codes to users and commenting and security detection on two-dimensional codes
CN105338480A (en) * 2014-06-24 2016-02-17 阿里巴巴集团控股有限公司 LBS-based user matching method, system, and server, and message clients
CN105530165A (en) * 2015-12-08 2016-04-27 小米科技有限责任公司 Instant chat method and device
CN106301788A (en) * 2016-08-12 2017-01-04 武汉大学 A kind of group key management method supporting authenticating user identification
CN106779004A (en) * 2016-12-30 2017-05-31 福建米客互联网科技有限公司 A kind of two-dimensional code generation method and system
CN108268921A (en) * 2018-01-15 2018-07-10 上海众人网络安全技术有限公司 Quick Response Code generates and coding/decoding method, device, transaction system and storage medium
CN109450636A (en) * 2018-06-12 2019-03-08 武汉科技大学 The integrity verification method of group data in a kind of cloud storage
CN109948387A (en) * 2019-03-06 2019-06-28 西安电子科技大学 Cluster label authentication method based on quadratic residue lightweight RFID

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20180048624A1 (en) * 2016-08-12 2018-02-15 Esmart Tech, Inc. Extensible, plug-n-play, private, secure network gateway

Patent Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105338480A (en) * 2014-06-24 2016-02-17 阿里巴巴集团控股有限公司 LBS-based user matching method, system, and server, and message clients
CN104618334A (en) * 2014-12-29 2015-05-13 通邮(中国)科技有限公司 Method and system for generating and verifying dynamic two-dimensional code
CN105162603A (en) * 2015-09-15 2015-12-16 重庆智韬信息技术中心 Method for realizing distribution of two-dimensional codes to users and commenting and security detection on two-dimensional codes
CN105530165A (en) * 2015-12-08 2016-04-27 小米科技有限责任公司 Instant chat method and device
CN106301788A (en) * 2016-08-12 2017-01-04 武汉大学 A kind of group key management method supporting authenticating user identification
CN106779004A (en) * 2016-12-30 2017-05-31 福建米客互联网科技有限公司 A kind of two-dimensional code generation method and system
CN108268921A (en) * 2018-01-15 2018-07-10 上海众人网络安全技术有限公司 Quick Response Code generates and coding/decoding method, device, transaction system and storage medium
CN109450636A (en) * 2018-06-12 2019-03-08 武汉科技大学 The integrity verification method of group data in a kind of cloud storage
CN109948387A (en) * 2019-03-06 2019-06-28 西安电子科技大学 Cluster label authentication method based on quadratic residue lightweight RFID

Also Published As

Publication number Publication date
CN110365501A (en) 2019-10-22

Similar Documents

Publication Publication Date Title
CN110365501B (en) Method and device for group joining processing based on graphic code
CN110290146B (en) Method and device for generating shared password, server and storage medium
CN108964903B (en) Password storage method and device
CN111046365A (en) Face image transmission method, numerical value transfer method, device and electronic equipment
CN110826103B (en) Method, device, equipment and storage medium for processing document authority based on blockchain
CN111506884A (en) User invitation method, device, computer equipment and computer readable storage medium
CN108769992B (en) User authentication method, device, terminal and storage medium
CN111275122A (en) Label labeling method, device, equipment and readable storage medium
CN111404991A (en) Method, device, electronic equipment and medium for acquiring cloud service
CN110097368B (en) Face image recognition method, server, terminal and service equipment
CN110677262B (en) Information notarization method, device and system based on blockchain
CN111062323A (en) Face image transmission method, numerical value transfer method, device and electronic equipment
CN111935166A (en) Communication authentication method, system, electronic device, server, and storage medium
CN111193702B (en) Method and device for data encryption transmission
CN111062725A (en) Face payment method, device and system and computer readable storage medium
CN113852459A (en) Key agreement method, device and computer readable storage medium
CN111901283A (en) Resource transfer method, device, terminal and storage medium
CN111198922B (en) Game resource management method and device based on block chain
CN110597868B (en) Information query method, device, terminal and storage medium based on block chain
CN111970298A (en) Application access method and device, storage medium and computer equipment
CN110597840A (en) Partner relationship establishing method, device, equipment and storage medium based on block chain
CN112528311B (en) Data management method, device and terminal
CN108683684B (en) Method, device and system for logging in target instant messaging application
CN111277608B (en) Block chain-based security risk information management method, device, equipment and storage medium
CN110971692B (en) Method and device for opening service and computer storage medium

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
EE01 Entry into force of recordation of patent licensing contract

Application publication date: 20191022

Assignee: GUANGZHOU CUBESILI INFORMATION TECHNOLOGY Co.,Ltd.

Assignor: GUANGZHOU HUADUO NETWORK TECHNOLOGY Co.,Ltd.

Contract record no.: X2021440000030

Denomination of invention: Method and device for Group addition processing based on graphic code

License type: Common License

Record date: 20210125

EE01 Entry into force of recordation of patent licensing contract
GR01 Patent grant
GR01 Patent grant