Voice communication system control method and device, and storage medium

By using a hash algorithm in the voice call system to generate an encrypted string, and carrying the encrypted string in the voice packet to perform server identity authentication, the problem of low voice information security caused by a single encryption method in the prior art is solved. , achieving higher encryption security.

CN119420516APending Publication Date: 2025-02-11SHENZHEN PINCHUANG INTERNET TECHNOLOGY CO LTD
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
CN202411453658.8
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2024-10-17
Publication Date
2025-02-11

AI Technical Summary

Technical Problem

The encryption method of the existing voice calling system is relatively simple and relies on fixed encryption algorithms and keys, resulting in a simple identity authentication process, easy to be cracked, and the security of voice information is low.

Method used

The hash algorithm generates a random identifier, an exclusive or random identifier and a call key, generates an encrypted string, and after receiving the voice information, a voice packet carrying the encrypted string is generated, and the voice packet is sent to the server, so that the voice packet is used to enable the voice packet to be used to enable the voice packet to be used to enable the voice packet to be used to enable the voice packet to be used to generate a voice packet. The server authenticates identity based on encrypted strings.

Benefits of technology

It improves the confidentiality and randomness of encrypted strings, reduces the risk of keys being cracked, and thus improves the security of voice information during voice calls.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN119420516A_ABST
    Figure CN119420516A_ABST
Patent Text Reader

Abstract

The invention discloses a control method and device of a voice communication system and a storage medium, and belongs to the technical field of communication. The method comprises the following steps: generating a call key, a random identifier, an XOR random identifier and a call key based on a signature file through a Hash algorithm, generating an encrypted character string corresponding to an XOR result through the Hash algorithm, generating a voice packet carrying the encrypted character string after receiving voice information, and sending the voice packet to a server; and sending the voice packet to a server, so that the server performs identity authentication based on the call key, and forwards the voice packet after passing the identity authentication. According to the invention, the encrypted character string generated based on the communication key coding is sent to the server, so that the server can obtain the key information in the encrypted character string through the corresponding decoding mode and perform identity authentication of the voice communication, thereby improving the security of the voice information in the voice communication process.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present application relates to the field of communication technology, and in particular to a control method, device and storage medium for a voice call system. Background Art

[0002] To ensure the security of voice information during voice calls, voice call systems usually use symmetric encryption algorithms to authenticate identity information through encryption and identity authentication.

[0003] In the related art, the voice call system encrypts and decrypts the transmitted voice data and verifies the identity information through the key shared between the server and the client. The voice call system usually carries the key in the transmitted voice packet, so that after the server receives the voice packet, it can compare the key in the voice packet with the key stored by itself.

[0004] However, since the encryption method of the relevant technology is relatively simple and relies on fixed encryption algorithms and keys, the identity authentication process is relatively simple and can be easily attacked by crackers through brute force or known vulnerabilities. This results in low security of voice information during voice calls.

[0005] The above contents are only used to assist in understanding the technical solution of the present application and do not constitute an admission that the above contents are prior art. Summary of the invention

[0006] The main purpose of this application is to provide a control method, device and storage medium for a voice call system, aiming to solve the technical problem of low voice information security during a voice call.

[0007] To achieve the above object, the present application provides a method for controlling a voice call system, the method comprising the following steps: After the voice call process is triggered, a random identifier is generated, the random identifier and the call key are XORed, and an encrypted string corresponding to the XOR result is generated through a hash algorithm; Based on the encrypted string, encoding the received voice information to generate a voice packet carrying the encrypted string; The voice packet is sent to a server, so that the server performs identity authentication based on the encrypted string, and forwards the voice packet after passing the identity authentication.

[0008] In one embodiment, after triggering the voice call process, before the step of generating a random identifier, XORing the random identifier and the call key, and generating an encrypted string corresponding to the XOR result through a hash algorithm, the step further includes: After the voice call process is triggered, a first hash value of the signature file is obtained, and a second hash value of the file name of the signature file is generated by a hash algorithm; Merging the first Hash value and the second Hash value to generate a merged Hash value; The combined hash value is mapped to the session key through the hash algorithm.

[0009] In one embodiment, before the step of merging the first Hash value and the second Hash value to generate a merged Hash value, the step further includes: Obtain and compile shared files through the Java native interface; Integrate the shared files to generate a shared object library; After generating the first hash value and the second hash value, calling the key generation algorithm in the shared object library, and inputting the first hash value and the second hash value into the key generation algorithm.

[0010] In one embodiment, the step of encoding the received voice information based on the encrypted string to generate a voice packet carrying the encrypted string includes: After the voice communication process is triggered, voice information is collected through an audio recorder; Segmenting the speech information into speech frames and determining speech frame coefficients of the speech frames; Encoding the voice frame according to the bit rate in the voice frame coefficient to generate a voice data packet; The voice data packet is encrypted by the encrypted character string to generate the voice packet.

[0011] In one embodiment, the step of encoding the voice frame according to the bit rate in the voice frame coefficient to generate the voice packet includes: Determining a bit rate of the speech frame according to the speech frame coefficient; encoding the speech frames whose bit rates are lower than the bit rate threshold by linear prediction coding, and encoding the speech frames whose bit rates are higher than the bit rate threshold by discrete cosine transform; Generate a voice data packet according to the encoding result; Generate metadata of the voice data packet based on the voice frame coefficients and the coding configuration information, and generate a header of the voice data packet based on the metadata; The voice data packet is generated based on the packet header and the packet body.

[0012] In one embodiment, after the step of sending the voice packet to the server so that the server performs identity authentication based on the encrypted string and forwarding the voice packet after the identity authentication, the method further includes: After receiving the target voice packet forwarded by the server, determining a decoding method of the target packet body according to a target packet header in the target voice packet; Based on the decoding method, decoding the target packet body to obtain target voice information; The target voice information is played through an audio player.

[0013] In one embodiment, after the voice communication process is triggered, before the step of collecting voice information through an audio recorder, the step further includes: After receiving a voice call request, check the voice recording permission; When the voice recording permission exists, determining to trigger the voice communication process; Alternatively, when the voice recording permission does not exist, a request for obtaining the voice recording permission is output.

[0014] In one embodiment, the step of sending the voice packet to the server so that the server performs identity authentication based on the encrypted string, and forwarding the voice packet after passing the identity authentication includes: Establishing a sending channel with the server; Compressing and encapsulating the voice packet, and writing the voice packet into the sending channel; The voice packet is sent through the sending channel, wherein after receiving the voice packet, the server obtains the call key based on the encrypted string of the voice packet, performs identity authentication according to the call key, and forwards the voice packet after passing the identity authentication.

[0015] In addition, to achieve the above-mentioned purpose, the present application also provides a control device for a voice call system, the device comprising: a memory, a processor, and a computer program stored in the memory and executable on the processor, the computer program being configured to implement the steps of the control method for the voice call system as described above.

[0016] In addition, to achieve the above-mentioned purpose, the present application also provides a storage medium, which is a computer-readable storage medium, and a computer program is stored on the storage medium. When the computer program is executed by a processor, the steps of the control method of the voice call system as described above are implemented.

[0017] One or more technical solutions proposed in this application have at least the following technical effects: The present application generates a call key based on the hash value of the content of the signature file and the file name through a hash algorithm, and generates a random identifier, XORs the random identifier and the call key, generates an encrypted string corresponding to the XOR result through the hash algorithm, and generates a voice packet carrying the encrypted string after receiving the voice information, sends the voice packet to the server, so that the server performs identity authentication based on the encrypted string, and forwards the voice packet to the corresponding server after passing the identity authentication, thereby improving the confidentiality and randomness of the encrypted string, reducing the risk of the key being cracked, and thus improving the security of voice information during voice calls. BRIEF DESCRIPTION OF THE DRAWINGS

[0018] The accompanying drawings, which are incorporated in and constitute a part of this specification, illustrate embodiments consistent with the present application and, together with the description, serve to explain the principles of the present application.

[0019] In order to more clearly illustrate the embodiments of the present application or the technical solutions in the prior art, the drawings required for use in the embodiments or the description of the prior art will be briefly introduced below. Obviously, for ordinary technicians in this field, other drawings can be obtained based on these drawings without paying any creative labor.

[0020] Figure 1 This is a flow chart of a first embodiment of a control method for a voice call system of the present application; Figure 2 A schematic diagram of a flow chart of generating an encrypted identifier according to a first embodiment of a method for controlling a voice call system of the present application; Figure 3 A schematic diagram of a voice call process involved in a first embodiment of a control method for a voice call system of the present application; Figure 4 This is a flow chart of a second embodiment of a method for controlling a voice call system of the present application; Figure 5 This is a schematic diagram of a key generation process involved in the second embodiment of the control method of the voice call system of the present application; Figure 6 A flowchart of a third embodiment of a method for controlling a voice call system of the present application; Figure 7 This is a schematic diagram of the structure of a control device of a voice call system in a hardware operating environment involved in an embodiment of the present application.

[0021] The realization of the purpose, functional features and advantages of this application will be further explained in conjunction with embodiments and with reference to the accompanying drawings. DETAILED DESCRIPTION

[0022] It should be understood that the specific embodiments described herein are only used to explain the present application and are not used to limit the present application.

[0023] In order to better understand the above technical solution, the above technical solution will be described in detail below in conjunction with the accompanying drawings and specific implementation methods.

[0024] The main solution of the embodiment of the present application is: generate a call key based on a signature file through a hash algorithm; generate a random identifier, XOR the random identifier and the call key, and generate an encrypted string corresponding to the XOR result through the hash algorithm; after receiving the voice information, generate a voice packet carrying the encrypted string; send the voice packet to the server, so that the server performs identity authentication based on the encrypted string, and forward the voice packet after passing the identity authentication.

[0025] In the related art, the voice call system encrypts and decrypts the transmitted voice data and verifies the identity information through the key shared between the server and the client. The voice call system usually carries the key in the transmitted voice packet so that after the server receives the voice packet, it can compare the key in the voice packet with the key it stores. However, since the encryption method of the related art is relatively simple and relies on fixed encryption algorithms and keys, the identity authentication process is relatively simple and can be easily attacked by crackers through brute force or known vulnerabilities. This leads to low security of voice information.

[0026] The present application generates a call key based on the hash value of the content of the signature file and the file name through a hash algorithm, and generates a random identifier, XORs the random identifier and the call key, generates an encrypted string corresponding to the XOR result through the hash algorithm, and generates a voice packet carrying the encrypted string after receiving the voice information, sends the voice packet to the server, so that the server performs identity authentication based on the encrypted string, and forwards the voice packet to the corresponding server after passing the identity authentication, thereby improving the confidentiality and randomness of the encrypted string, reducing the risk of the key being cracked, and thus improving the security of voice information during voice calls.

[0027] In order to better understand the above technical solution, exemplary embodiments of the present application will be described in more detail below with reference to the accompanying drawings. Although exemplary embodiments of the present application are shown in the accompanying drawings, it should be understood that the present application can be implemented in various forms and should not be limited by the embodiments described herein. On the contrary, these embodiments are provided to enable a more thorough understanding of the present application and to fully convey the scope of the present application to those skilled in the art.

[0028] It should be noted that the execution subject of this embodiment can be a client of a voice call system, or a computing service device with data processing, network communication and program running functions, such as a tablet computer, a personal computer, a mobile phone, etc., or an electronic device capable of realizing the above functions, a control device of a voice call system, etc., and this embodiment does not specifically limit this. The following takes the client of a voice call system as an example to illustrate this embodiment and the following embodiments.

[0029] Based on this, the embodiment of the present application provides a method for controlling a voice call system, referring to Figure 1 , Figure 1 This is a flow chart of a first embodiment of a control method for a voice call system of the present application.

[0030] In this embodiment, the control method of the voice call system includes steps S10 to S40: Step S10: after the voice call process is triggered, a random identifier is generated, the random identifier and the call key are XORed, and an encrypted string corresponding to the XOR result is generated through the hash algorithm; In this embodiment, the voice call system includes a client and a server. The client is responsible for the collection, encryption and transmission of voice information, can receive the user's voice information, and encrypt the voice information based on the call key in the voice call system and send it to the server. The server is responsible for decoding and authenticating the voice packet. Among them, the client can be a terminal device such as a mobile phone or a computer with voice collection and data communication functions.

[0031] In one embodiment, the client of the voice call system can generate an XOR string by XORing the generated random identifier with the call key based on the call key. The client connects the random identifier and the call key through an XOR operator to generate an XOR string, and then encrypts the XOR string through a hash algorithm to generate an encrypted string. Among them, the encrypted string generated based on the random identifier can improve the randomness of the encrypted string. The hash algorithm can be selected from a hash algorithm such as a secure hash algorithm (SHA-1, Secure Hash Algorithm 1) algorithm or a message digest algorithm 5 (MD5, Message-Digest Algorithm 5).

[0032] For example, refer to Figure 2 , Figure 2The following is a schematic diagram of the encrypted identifier generation process involved in this embodiment. The client can generate a universally unique identifier (UUID) as a random identifier. The UUID is generated based on an algorithm and is represented as a 32-digit hexadecimal number, which is displayed in five groups and separated by four hyphens. For example, 123xxxxx-e8xx-12xx-a4xx-426614xxxxxx. The client obtains the XOR string by XORing the UUID and the key KEY, and then uses the MD5 algorithm to obtain the encrypted string RandomEncry. The server verifies whether the encrypted string RandomEncry passes.

[0033] Step S20: Based on the encrypted string, the received voice information is encoded to generate a voice packet carrying the encrypted string; In this embodiment, the client is configured with an audio collector. After obtaining the audio recording permission and triggering the voice communication process, the audio collector can be used to collect the user's voice information in a recording manner. In addition, after generating and obtaining the encrypted string, the voice information is encoded based on the encrypted string to generate a voice package, thereby encoding the voice package based on the encrypted string with higher randomness and security.

[0034] In one embodiment, step S20 includes steps A21-A24: Step A21: After the voice communication process is triggered, voice information is collected through an audio recorder; In this embodiment, after receiving the voice call request, the client detects whether it currently has the voice recording permission. When the voice recording permission exists, the client determines to trigger the voice communication process, establishes a connection with the server and conducts a voice call. Alternatively, when the voice recording permission does not exist, a request to obtain the voice recording permission is output.

[0035] Step A21: dividing the speech information into speech frames, and determining speech frame coefficients of the speech frames; Step A21: encoding the voice frame according to the bit rate in the voice frame coefficient to generate a voice data packet; Step A21: Encrypt the voice data packet using the encrypted character string to generate the voice packet.

[0036] In this embodiment, the client uses interactive audio coding (Opus, Opus Interactive Audio Codec) to encode the voice information collected by the audio collector. Among them, Opus combines two encoding technologies, Linear Predictive Coding (SILK) and Discrete Cosine Transform (CELT, Modified Discrete Cosine Transform), which can encode the voice frames after the voice information is segmented based on different bit rates, thereby improving the compression effect and compression efficiency of the voice frames. Among them, linear prediction coding represents the voice signal by estimating the resonance peaks of the vocal tract and the vibration mode of the vocal cords, and can use less data to represent the voice signal, thereby achieving effective compression of the voice, while discrete cosine transform improves the encoding efficiency by improving to adapt to the time-frequency characteristics of the audio signal.

[0037] Specifically, the Opus encoder divides the received audio signal into speech frames, and the length of the speech frame can be selected to be 2.5ms, 5ms, 10ms, 20ms, 40ms or 60ms, etc., to meet different encoding requirements.

[0038] Furthermore, the client determines the bit rate of the voice frame according to the voice frame coefficient of the voice frame. The voice frame coefficient includes information such as coding mode, audio bandwidth, frame size and number of channels. Based on the bit rate of the voice frame, the client selects linear prediction coding to encode the voice frames whose bit rate is lower than the bit rate threshold, and encodes the voice frames whose bit rate is higher than the bit rate threshold through discrete cosine transform. According to the encoding result, the client can generate and obtain the packet body of the voice data packet, and generate metadata of the voice data packet based on the voice frame coefficient and the encoding configuration information, and generate a packet header of the voice data packet based on the metadata. The packet header and the packet body are integrated, and the client can generate a voice data packet, and further encrypt the voice data packet based on the encrypted string to generate a voice packet for sending.

[0039] Optionally, the client may also process the voice frames whose bit rate difference with the bit rate threshold is within a preset range by combining discrete cosine transform with linear prediction coding. At the same time, the server or the client receiving the voice packet may determine the decoding method of the voice packet based on the metadata in the voice packet header, and decode to obtain the voice information.

[0040] Step S30: Send the voice packet to the server, so that the server performs identity authentication based on the encrypted string, and forwards the voice packet after passing the identity authentication.

[0041] In this embodiment, after generating and obtaining a voice packet, the client can establish a transmission channel with the server, compress and encapsulate the voice packet, and write the voice packet into the transmission channel. Through the transmission channel, the client can send the voice packet to the server. After receiving the voice packet, the server extracts the encrypted string in the voice packet, decodes the encrypted string to obtain the call key, and authenticates the client based on the call key. After passing the authentication, the voice packet is forwarded.

[0042] It should be noted that the voice call system is based on the Netty framework for data transmission. Netty provides a variety of I / O models, a flexible thread model, supports a variety of thread pool modes, can effectively utilize multi-core processor resources, and can handle a large number of concurrent connections while maintaining low latency and high throughput.

[0043] Optionally, the client can use the Protobuf data structure to send the voice packet. The Protobuf data structure includes fields such as message content (body), message body (head), extended message (extend), sender id (fromId), message content type (msgContentType), message id (msgId), message type (msgType), server return status code (statusReport), timestamp (timestamp) and receiver id (toId).

[0044] For example, Figure 3 As shown, Figure 3 The following is a schematic diagram of the voice call process involved in the embodiment of the present application. Among them, the client first determines whether it has the recording permission. If it does not have the permission, it will restart. If it has the permission, it will start the voice call process, and use the Android audio recorder component (AudioRecord) to collect voice audio, and use Opus for audio encoding. Send voice data messages through Netty, and at the same time determine whether the network is unobstructed. If there is no network, the sending fails and ends directly. If the network is good, proceed to the next step. After receiving the voice packet, the server determines whether the identity security verification has passed. If the verification fails, the verification failure information is fed back to the client, and the voice call process is ended by the client. If the verification passes, the voice message is forwarded to the recipient's client. After receiving the voice packet, the recipient's client also uses Opus for audio decoding, and uses Android's audio playback component (AudioPlayer) to play audio.

[0045] The embodiment of the present application generates a call key based on the hash value of the content of the signature file and the file name through a hash algorithm, and generates a random identifier, XORs the random identifier and the call key, and generates an encrypted string corresponding to the XOR result through the hash algorithm, and after receiving the voice information, generates a voice packet carrying the encrypted string, sends the voice packet to the server, so that the server performs identity authentication based on the encrypted string, and forwards the voice packet to the corresponding server after passing the identity authentication, thereby improving the confidentiality and randomness of the encrypted string, reducing the risk of the key being cracked, and thus improving the security of voice information during the voice call.

[0046] Based on the same inventive concept, the present application also provides a second embodiment, referring to Figure 4 , Figure 4 This is a flow chart of a second embodiment of a control method for a voice call system of the present application.

[0047] In this embodiment, before generating a random identifier as described in step S10, XORing the random identifier and the session key, and generating an encrypted string corresponding to the XOR result through the hash algorithm, steps S11 to S13 are also included: Step S11: Obtain a first hash value of a signature file, and generate a second hash value of the file name of the signature file through a hash algorithm; In this embodiment, the voice call system extracts the information digest from the signature file to obtain a hash value of the signature file, that is, a first hash value, and processes the file name of the signature file through an information digest algorithm to obtain a second hash value.

[0048] Optionally, the voice call system can extract the secure hash (SHA-1, Secure Hash Algorithm 1) value of the signature file in the voice call system through a secure hash algorithm, and verify whether the SHA-1 is correct. The signature file name is processed through the message digest algorithm 5 (MD5, Message-Digest Algorithm 5) to obtain a string file name, that is, a second hash value.

[0049] Step S12: merging the first Hash value and the second Hash value to generate a merged Hash value; Step S13: Mapping the combined hash value to the session key through the hash algorithm.

[0050] In this embodiment, the voice call system generates a combined hash value by combining the first hash value and the second hash value, and obtains the call key by using the hash algorithm again. The first hash value generated based on the content of the signature file and the second hash value generated based on the file name of the signature file are combined, and the authentication can be performed based on both the content and the file name of the signature file, thereby preventing the call key from being restored based only on the content or the file name of the signature file, and further improving the security of the key.

[0051] For example, refer to Figure 5 , Figure 5 When installing the application of the voice call system, the client can obtain and compile the shared file (.so file) through the Java Native Interface (JNI), and integrate the compiled shared file to generate a shared object library (.so library).

[0052] Furthermore, the client can call the getKey() method in the local shared object library through the Java Native Interface (JNI). JNI is an interface for implementing the interaction between Java code and other programming languages, such as C, C++, etc. It allows Java programs to call native code, that is, code written in other programming languages, and allows native code to call Java code.

[0053] Furthermore, the voice call system obtains the SHA-1 value of the signature file under the application (APP) corresponding to the current voice call system through pre-written C++ code, and calls the local key generation algorithm (getKey() method). The method first verifies whether the SHA-1 value is correct. If it is not correct, it returns the string "1" to prompt that the SHA-1 value is wrong. If it is correct, it proceeds to the next step. The getKey() method further uses the MD5 information digest algorithm to extract the string name fileNameMD5 of the signature file name, and then performs an MD5 algorithm on the Sha1 value + fileNameMD5 combined with the SHA-1 value and the string name fileNameMD5. After generating the first hash value and the second hash value, the key generation algorithm is called in the shared object library, and the first hash value and the second hash value are input into the getKey() to obtain the key Key and return it.

[0054] Optionally, the voice call system can also directly extract the hash value as the call key through a hash algorithm based on the content or file name of the signature file, or send a key acquisition request to the server after triggering the voice call process to obtain the call key from the server.

[0055] The embodiment of the present application uses a hash algorithm to extract hash values ​​for the file name and content of the signature file in the system respectively, and after merging the two hash values, they are mapped to the call key through the hash algorithm again, so that when the server authenticates the call key, it can also verify the file name and content of the signature file, thereby improving the security of the key.

[0056] Since the system introduced in the second embodiment of the present application is a system used to implement the method of the first embodiment of the present application, based on the method introduced in the first embodiment of the present application, the person skilled in the art can understand the specific structure and deformation of the system, so it is not repeated here. All systems used in the method of the first embodiment of the present application belong to the scope of protection of this application.

[0057] Based on the same inventive concept, the present application also provides a third embodiment, referring to Figure 6 , Figure 6 This is a flow chart of a third embodiment of a control method for a voice call system of the present application.

[0058] In this embodiment, the control method of the voice call system further includes steps S40 to S42: Step S40: after receiving the target voice packet forwarded by the server, determining the decoding method of the target packet body according to the target packet header in the target voice packet; Step S41: decoding the target packet based on the decoding method to obtain target voice information; Step S42: Play the target voice information through an audio player.

[0059] In this embodiment, the client of the voice call system can be both the sender of the voice packet and the receiver of the voice. After receiving the target voice packet forwarded by the server, the client can determine the encoding method of the target packet body and the corresponding decoding method based on the target packet header of the target voice packet. Based on the decoding method, the client can decode the target packet body to obtain the target voice information, and play the target voice information through the audio player of the client.

[0060] In an embodiment of the present application, when a target voice packet is received by other clients and forwarded by a server, the client of the voice call system can decode the target packet body based on the target packet header of the target voice packet by a decoding method corresponding to the encoding method to obtain voice information, thereby further improving the confidentiality and security of voice information of the voice call system during the voice call process.

[0061] Since the system introduced in the third embodiment of the present application is a system used to implement the method of the first embodiment of the present application, based on the method introduced in the first embodiment of the present application, the person skilled in the art can understand the specific structure and deformation of the system, so it is not repeated here. All systems used in the method of the first embodiment of the present application belong to the scope of protection of the present application.

[0062] The present application provides a control device for a voice call system, the device comprising: at least one processor; and a memory communicatively connected to the at least one processor; wherein the memory stores instructions executable by the at least one processor, and the instructions are executed by the at least one processor so that the at least one processor can execute the control method for the voice call system in the above-mentioned embodiment 1.

[0063] Reference below Figure 7 , which shows a schematic diagram of the structure of a control device for a voice call system suitable for implementing an embodiment of the present application. The control device for the voice call system in the embodiment of the present application may include, but is not limited to, mobile terminals such as mobile phones, laptop computers, digital broadcast receivers, PDAs (Personal Digital Assistants), PADs (Portable Application Descriptions), PMPs (Portable Media Players), vehicle-mounted terminals (such as vehicle-mounted navigation terminals), etc., and fixed terminals such as digital TVs, desktop computers, etc. Figure 7 The control device of the voice call system shown is merely an example and should not bring any limitation to the functions and scope of use of the embodiments of the present application.

[0064] like Figure 7As shown, the control device of the voice call system may include a processing device 1001 (e.g., a core processor, a graphics processor, etc.), which can perform various appropriate actions and processes according to a program stored in a read-only memory (ROM: Read Only Memory) 1002 or a program loaded from a storage device 1003 to a random access memory (RAM: Random Access Memory) 1004. In RAM1004, various programs and data required for the operation of the control device of the voice call system are also stored. The processing device 1001, ROM1002, and RAM1004 are connected to each other through a bus 1005. An input / output (I / O) interface 1006 is also connected to the bus. Generally, the following systems can be connected to the I / O interface 1006: an input device 1007 including, for example, a touch screen, a touch pad, a keyboard, a mouse, an image sensor, a microphone, an accelerometer, a gyroscope, etc.; an output device 1008 including, for example, a liquid crystal display (LCD: Liquid Crystal Display), a speaker, a vibrator, etc.; a storage device 1003 including, for example, a magnetic tape, a hard disk, etc.; and a communication device 1009. The communication device 1009 can allow the control device of the voice call system to communicate with other devices wirelessly or by wire to exchange data. Although the control device of the voice call system with various systems is shown in the figure, it should be understood that it is not required to implement or have all the systems shown. More or fewer systems can be implemented or have alternatively.

[0065] In particular, according to the embodiments disclosed in the present application, the process described above with reference to the flowchart can be implemented as a computer software program. For example, the embodiments disclosed in the present application include a computer program product, which includes a computer program carried on a computer-readable medium, and the computer program includes a program code for executing the method shown in the flowchart. In such an embodiment, the computer program can be downloaded and installed from a network through a communication device, or installed from a storage device 1003, or installed from a ROM 1002. When the computer program is executed by the processing device 1001, the above-mentioned functions defined in the method of the embodiment disclosed in the present application are executed.

[0066] The control device of the voice call system provided by the present application adopts the control method of the voice call system in the above embodiment, which can solve the technical problem of low security of voice information during the voice call. Compared with the prior art, the beneficial effects of the control device of the voice call system provided by the present application are the same as the beneficial effects of the control method of the voice call system provided by the above embodiment, and the other technical features of the control device of the voice call system are the same as the features disclosed in the method of the previous embodiment, which will not be repeated here.

[0067] Exemplarily, the control device of the voice call system can be a mobile phone, on which the client part of the voice call system of the embodiment of the present application is running. The mobile phone is equipped with a processing device 1001, including key components such as a core processor and a graphics processor, which work together to execute the control method of the voice call system of the embodiment of the present application according to the preset program stored in the read-only memory (ROM: Read Only Memory) 1002, or the execution program dynamically loaded from the storage device 1003 to the random access memory (RAM: Random Access Memory) 1004. RAM1004 also plays the role of temporary data storage, ensuring that the mobile phone can quickly access the required data and programs during operation.

[0068] The mobile phone connects the processing device 1001, ROM 1002, RAM 1004 and input / output (I / O) interface 1006 through bus 1005 to form an information processing network. The I / O interface 1006 is also connected to input devices 1007 such as a touch screen, keyboard, microphone, and output devices 1008 such as a liquid crystal display and a speaker, allowing the user input device 1007 and the output device 1008 to interact with the mobile phone. The built-in communication device 1009 of the mobile phone supports both wireless and wired communication modes to achieve real-time data exchange with other devices and improve the stability of voice calls. Based on the above communication device, the mobile phone can interact with the server of the voice call system as a client through the voice call system to realize the various steps of the voice call system control method of the present application.

[0069] The built-in voice call system control function of the mobile phone can be implemented as a series of computer software programs. These programs are precisely executed by the processing device 1001 to realize the control process of the control method of the voice call system of the present application, thereby ensuring the security of voice information during the voice call. The user can download the voice call system through the network and install it from the built-in storage or ROM of the mobile phone to solve the technical problem of low security of voice information during the voice call.

[0070] Exemplarily, the embodiment of the present application also provides a server of a voice call system. The server can be a terminal device such as a computer, in which the service end part of the voice call system is running. The server can obtain information sent by a client such as a mobile phone or a tablet computer, and based on the built-in control function of the voice call system, implement the verification, encryption, forwarding and other functions of the voice call system.

[0071] It should be understood that the various parts disclosed in this application can be implemented by hardware, software, firmware or a combination thereof. In the description of the above embodiments, specific features, structures, materials or characteristics can be combined in any one or more embodiments or examples in a suitable manner.

[0072] The above is only a specific implementation of the present application, but the protection scope of the present application is not limited thereto. Any person skilled in the art who is familiar with the present technical field can easily think of changes or substitutions within the technical scope disclosed in the present application, which should be included in the protection scope of the present application. Therefore, the protection scope of the present application should be based on the protection scope of the claims.

[0073] The present application provides a computer-readable storage medium having computer-readable program instructions (ie, computer programs) stored thereon, and the computer-readable program instructions are used to execute the control method of the voice call system in the above-mentioned embodiment.

[0074] The computer-readable storage medium provided in the present application may be, for example, a USB flash drive, but is not limited to electrical, magnetic, optical, electromagnetic, infrared or semiconductor systems, systems or devices, or any combination of the above. More specific examples of computer-readable storage media may include, but are not limited to: an electrical connection with one or more wires, a portable computer disk, a hard disk, a random access memory (RAM: Random Access Memory), a read-only memory (ROM: Read Only Memory), an erasable programmable read-only memory (EPROM: Erasable Programmable Read Only Memory or flash memory), an optical fiber, a portable compact disk read-only memory (CD-ROM: CD-Read Only Memory), an optical storage device, a magnetic storage device, or any suitable combination of the above. In this embodiment, the computer-readable storage medium may be any tangible medium containing or storing a program that can be used by or in combination with an instruction execution system, system or device. The program code contained on the computer-readable storage medium may be transmitted using any appropriate medium, including but not limited to: wires, optical cables, RF (Radio Frequency: Radio Frequency), etc., or any suitable combination of the above.

[0075] The computer-readable storage medium may be included in the control device of the voice call system; or may exist independently without being assembled into the control device of the voice call system.

[0076] The above-mentioned computer-readable storage medium carries one or more programs. When the above-mentioned one or more programs are executed by the control device of the voice call system, the control device of the voice call system: after triggering the voice call process, generates a random identifier, XORs the random identifier and the call key, and generates an encrypted string corresponding to the XOR result through the hash algorithm; encodes the received voice information based on the encrypted string to generate a voice packet carrying the encrypted string; sends the voice packet to the server so that the server performs identity authentication based on the encrypted string, and forwards the voice packet after passing the identity authentication.

[0077] Computer program code for performing the operations of the present application may be written in one or more programming languages ​​or a combination thereof, including object-oriented programming languages ​​such as Java, Smalltalk, C++, and conventional procedural programming languages ​​such as "C" or similar programming languages. The program code may be executed entirely on the user's computer, partially on the user's computer, as a separate software package, partially on the user's computer and partially on a remote computer, or entirely on a remote computer or server. In the case of a remote computer, the remote computer may be connected to the user's computer through any type of network, including a local area network (LAN) or a wide area network (WAN), or may be connected to an external computer (e.g., via the Internet using an Internet service provider).

[0078] The flowcharts and block diagrams in the accompanying drawings illustrate the possible architecture, functions and operations of the systems, methods and computer program products according to various embodiments of the present application. In this regard, each box in the flowchart or block diagram can represent a module, a program segment or a part of a code, and the module, a program segment or a part of the code contains one or more executable instructions for realizing the specified logical function. It should also be noted that in some alternative implementations, the functions marked in the box can also occur in a different order from the order marked in the accompanying drawings. For example, two boxes represented in succession can actually be executed substantially in parallel, and they can sometimes be executed in the opposite order, depending on the functions involved. It should also be noted that each box in the block diagram and / or flowchart, and the combination of boxes in the block diagram and / or flowchart can be implemented with a dedicated hardware-based system that performs a specified function or operation, or can be implemented with a combination of dedicated hardware and computer instructions.

[0079] The modules involved in the embodiments described in this application may be implemented by software or hardware, wherein the name of the module does not constitute a limitation on the unit itself in some cases.

[0080] The readable storage medium provided by the present application is a computer-readable storage medium, which stores computer-readable program instructions (i.e., computer programs) for executing the above-mentioned control method of the voice call system, and can solve the technical problem of low security of voice information during the voice call process. Compared with the prior art, the beneficial effects of the computer-readable storage medium provided by the present application are the same as the beneficial effects of the control method of the voice call system provided by the above-mentioned embodiment, and will not be repeated here.

[0081] The above descriptions are only some embodiments of the present application, and are not intended to limit the patent scope of the present application. All equivalent structural changes made using the contents of the present application specification and drawings under the technical concept of the present application, or direct / indirect applications in other related technical fields are included in the patent protection scope of the present application.

Claims

1. A method for controlling a voice call system, characterized in that: The method comprises the following steps: After the voice call process is triggered, a random identifier is generated, the random identifier and the call key are XORed, and an encrypted string corresponding to the XOR result is generated through a hash algorithm; Based on the encrypted string, encoding the received voice information to generate a voice packet carrying the encrypted string; The voice packet is sent to a server, so that the server performs identity authentication based on the encrypted string, and forwards the voice packet after passing the identity authentication.

2. The method according to claim 1, characterized in that Before the step of generating a random identifier, XORing the random identifier and the call key after triggering the voice call process, and generating an encrypted string corresponding to the XOR result through a hash algorithm, the method further includes: After the voice call process is triggered, a first hash value of the signature file is obtained, and a second hash value of the file name of the signature file is generated by a hash algorithm; Merging the first Hash value and the second Hash value to generate a merged Hash value; The combined hash value is mapped to the session key through the hash algorithm.

3. The method according to claim 2, characterized in that Before the step of merging the first Hash value and the second Hash value to generate a merged Hash value, the step further includes: Obtain and compile shared files through the Java native interface; Integrate the shared files to generate a shared object library; After generating the first hash value and the second hash value, calling the key generation algorithm in the shared object library, and inputting the first hash value and the second hash value into the key generation algorithm.

4. The method according to claim 1, characterized in that The step of encoding the received voice information based on the encrypted string to generate a voice packet carrying the encrypted string comprises: After the voice communication process is triggered, voice information is collected through an audio recorder; Segmenting the speech information into speech frames and determining speech frame coefficients of the speech frames; Encoding the voice frame according to the bit rate in the voice frame coefficient to generate a voice data packet; The voice data packet is encrypted by the encrypted character string to generate the voice packet.

5. The method according to claim 4, characterized in that The step of encoding the speech frame according to the bit rate in the speech frame coefficient to generate the speech packet comprises: Determining a bit rate of the speech frame according to the speech frame coefficient; encoding the speech frames whose bit rates are lower than the bit rate threshold by linear prediction coding, and encoding the speech frames whose bit rates are higher than the bit rate threshold by discrete cosine transform; Generate a voice data packet according to the encoding result; Generate metadata of the voice data packet based on the voice frame coefficients and the coding configuration information, and generate a header of the voice data packet based on the metadata; The voice data packet is generated based on the packet header and the packet body.

6. The method according to claim 5, characterized in that After the step of sending the voice packet to the server so that the server performs identity authentication based on the encrypted string and forwarding the voice packet after the identity authentication, the method further includes: After receiving the target voice packet forwarded by the server, determining a decoding method of the target packet body according to a target packet header in the target voice packet; Based on the decoding method, decoding the target packet body to obtain target voice information; The target voice information is played through an audio player.

7. The method according to claim 4, characterized in that After the voice communication process is triggered, before the step of collecting voice information through the audio recorder, the step further includes: After receiving a voice call request, check the voice recording permission; When the voice recording permission exists, determining to trigger the voice communication process; Alternatively, when the voice recording permission does not exist, a request for obtaining the voice recording permission is output.

8. The method according to claim 1, characterized in that The step of sending the voice packet to the server so that the server performs identity authentication based on the encrypted string, and forwarding the voice packet after passing the identity authentication includes: Establishing a sending channel with the server; Compressing and encapsulating the voice packet, and writing the voice packet into the sending channel; The voice packet is sent through the sending channel, wherein after receiving the voice packet, the server obtains the call key based on the encrypted string of the voice packet, performs identity authentication according to the call key, and forwards the voice packet after passing the identity authentication.

9. A control device for a voice call system, characterized in that: The device comprises: a memory, a processor, and a computer program stored in the memory and executable on the processor, wherein the computer program is configured to implement the steps of the method for controlling a voice call system according to any one of claims 1 to 8.

10. A storage medium, characterized in that: The storage medium is a computer-readable storage medium, and a computer program is stored on the storage medium. When the computer program is executed by a processor, the steps of the control method of the voice call system according to any one of claims 1 to 8 are implemented.