CN112016110B - Method, device, equipment and storage medium for storing data - Google Patents

Method, device, equipment and storage medium for storing data Download PDF

Info

Publication number
CN112016110B
CN112016110B CN202010902474.0A CN202010902474A CN112016110B CN 112016110 B CN112016110 B CN 112016110B CN 202010902474 A CN202010902474 A CN 202010902474A CN 112016110 B CN112016110 B CN 112016110B
Authority
CN
China
Prior art keywords
data
fragment
information
target data
login
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
CN202010902474.0A
Other languages
Chinese (zh)
Other versions
CN112016110A (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.)
Samsung Electronics China R&D Center
Samsung Electronics Co Ltd
Original Assignee
Samsung Electronics China R&D Center
Samsung Electronics 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 Samsung Electronics China R&D Center, Samsung Electronics Co Ltd filed Critical Samsung Electronics China R&D Center
Priority to CN202010902474.0A priority Critical patent/CN112016110B/en
Publication of CN112016110A publication Critical patent/CN112016110A/en
Application granted granted Critical
Publication of CN112016110B publication Critical patent/CN112016110B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/602Providing cryptographic facilities or services
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/62Protecting access to data via a platform, e.g. using keys or access control rules
    • G06F21/6218Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database
    • G06F21/6227Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database where protection concerns the structure of data, e.g. records, types, queries
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/62Protecting access to data via a platform, e.g. using keys or access control rules
    • G06F21/6218Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database
    • G06F21/6245Protecting personal data, e.g. for financial or medical purposes
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2221/00Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/21Indexing scheme relating to G06F21/00 and subgroups addressing additional information or applications relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/2107File encryption

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Health & Medical Sciences (AREA)
  • Bioethics (AREA)
  • General Health & Medical Sciences (AREA)
  • Software Systems (AREA)
  • Computer Security & Cryptography (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Databases & Information Systems (AREA)
  • Medical Informatics (AREA)
  • Storage Device Security (AREA)

Abstract

The application discloses a method, a device, equipment and a storage medium for storing data, and relates to the field of block chain technology and data storage. The specific implementation scheme is as follows: receiving target data from a terminal; segmenting target data to obtain a plurality of data fragments; encrypting each data fragment and determining the storage address of the encrypted data fragment; generating character strings corresponding to the data fragments according to the storage addresses of the data fragments; and storing the encrypted data fragments and the generated character strings. The implementation mode provides a safe and convenient data storage method, which is convenient for a user to store various private data.

Description

Method, device, equipment and storage medium for storing data
Technical Field
The present application relates to the field of computer technologies, and in particular, to the field of blockchain technologies and data storage, and in particular, to a method, an apparatus, a device, and a storage medium for storing data.
Background
With the rapid development of internet technology, more and more application programs emerge for people to use. Almost every application requires the user to register and log in when using the application. For the user, the account name and password information of each application program may be different, which increases the difficulty of memorizing the information. In addition to the account name and password information described above, the user may also have other private data, such as information like pictures, videos, etc. The security of these private data stores is critical to the user.
Disclosure of Invention
A method, apparatus, device and storage medium for storing data are provided.
According to a first aspect, there is provided a method for storing data, comprising: receiving target data from a terminal; dividing target data to obtain a plurality of data fragments; encrypting each data fragment and determining the storage address of the encrypted data fragment; generating character strings corresponding to the data fragments according to the storage addresses of the data fragments; and storing the encrypted data fragments and the generated character strings.
According to a second aspect, there is provided an apparatus for storing data, comprising: a target data receiving unit configured to receive target data from a terminal; a target data dividing unit configured to divide target data into a plurality of data fragments; the data fragment encryption unit is configured to encrypt each data fragment and determine a storage address of the encrypted data fragment; a character string generating unit configured to generate a character string corresponding to each data fragment according to a storage address of each data fragment; and the data storage unit is configured to store the encrypted data fragments and the generated character strings.
According to a third aspect, there is provided an electronic device for storing data, comprising: at least one processor; and a memory communicatively coupled to the at least one processor; wherein the memory stores instructions executable by the at least one processor to enable the at least one processor to perform the method as described in the first aspect.
According to a fourth aspect, there is provided a non-transitory computer readable storage medium having stored thereon computer instructions for causing a computer to perform the method as described in the first aspect.
According to the technology of the application, the safe and convenient login information storage method is provided, and the user can conveniently find the account and the password of each application program.
It should be understood that the statements in this section do not necessarily identify key or critical features of the embodiments of the present disclosure, nor do they limit the scope of the present disclosure. Other features of the present disclosure will become apparent from the following description.
Drawings
The drawings are included to provide a better understanding of the present solution and are not intended to limit the present application. Wherein:
FIG. 1 is an exemplary system architecture diagram in which one embodiment of the present application may be applied;
FIG. 2 is a flow diagram of one embodiment of a method for storing data according to the present application;
FIG. 3 is a flow diagram of another embodiment of a method for storing data according to the present application;
FIG. 4 is a schematic diagram of an application scenario of a method for storing data according to the present application;
FIG. 5 is a schematic block diagram illustrating one embodiment of an apparatus for storing data according to the present application;
fig. 6 is a block diagram of an electronic device for implementing a method for storing data according to an embodiment of the present application.
Detailed Description
The following description of the exemplary embodiments of the present application, taken in conjunction with the accompanying drawings, includes various details of the embodiments of the application to assist in understanding, which are to be considered exemplary only. Accordingly, those of ordinary skill in the art will recognize that various changes and modifications of the embodiments described herein can be made without departing from the scope and spirit of the present application. Also, descriptions of well-known functions and constructions are omitted in the following description for clarity and conciseness.
It should be noted that, in the present application, the embodiments and features of the embodiments may be combined with each other without conflict. The present application will be described in detail below with reference to the embodiments with reference to the attached drawings.
Fig. 1 shows an exemplary system architecture 100 to which embodiments of the method for storing data or the apparatus for storing data of the present application may be applied.
As shown in fig. 1, the system architecture 100 may include terminal devices 101, 102, 103, a network 104, and a server 105. Network 104 is the medium used to provide communication links between terminal devices 101, 102, 103 and server 105. Network 104 may include various connection types, such as wired, wireless communication links, or fiber optic cables, to name a few.
The user may use the terminal devices 101, 102, 103 to interact with the server 105 via the network 104 to receive or send messages or the like. Various communication client applications, such as shopping applications, social platform applications, video and audio playing applications, etc., may be installed on the terminal devices 101, 102, 103. The user can enter an account number and a password through the terminal devices 101, 102, 103 to log in to these client applications.
The terminal devices 101, 102, 103 may be hardware or software. When the terminal devices 101, 102, 103 are hardware, they may be various electronic devices including, but not limited to, smart phones, tablet computers, e-book readers, car computers, laptop portable computers, desktop computers, and the like. When the terminal apparatuses 101, 102, 103 are software, they can be installed in the electronic apparatuses listed above. It may be implemented as multiple pieces of software or software modules (e.g., to provide distributed services) or as a single piece of software or software module. And is not particularly limited herein.
The server 105 may be a server that provides various services, such as a backend server that saves an account number and a password of an application installed on the terminal apparatus 101, 102, 103. The background server may store the account and the password input by the user, and feed back the account and the password to the terminal devices 101, 102, and 103 when the user queries.
The server 105 may be hardware or software. When the server 105 is hardware, it may be implemented as a distributed server cluster composed of a plurality of servers, or may be implemented as a single server. When the server 105 is software, it may be implemented as multiple pieces of software or software modules (e.g., to provide distributed services), or as a single piece of software or software module. And is not particularly limited herein.
It should be noted that the method for storing data provided by the embodiment of the present application is generally executed by the server 105. Accordingly, means for storing data is typically provided in the server 105.
In some specific applications, the system architecture 100 may further include a blockchain distributed storage server, not shown, for storing the data by using a blockchain technique.
It should be understood that the number of terminal devices, networks, and servers in fig. 1 is merely illustrative. There may be any number of terminal devices, networks, and servers, as desired for implementation.
With continued reference to FIG. 2, a flow 200 of one embodiment of a method for storing data in accordance with the present application is shown. The method for storing data of the embodiment comprises the following steps:
step 201, receiving target data from a terminal.
In this embodiment, an execution subject (e.g., the server 105 shown in fig. 1) of the method for storing data may receive target data from a terminal. Here, the terminal may be a terminal used by a user. The target data may include various private data such as an application identification, an account number and password for logging into the application, or an image, video, etc. Here, the application identification may be a picture, a name, or the like of the application.
Step 202, segmenting the target data to obtain a plurality of data segments.
After receiving the target data, the execution main body divides the target data to obtain a plurality of data fragments. Here, the execution main body may divide the data into a preset number of data pieces according to the number of the data pieces when dividing the data. It may also be divided according to the size of the data slices, i.e. the size of each data slice is the same.
Step 203, encrypting each data fragment and determining the storage address of the encrypted data fragment.
The execution body may encrypt each data fragment after obtaining each data fragment. Specifically, the executing entity may encrypt each data slice using an existing encryption algorithm. The execution body may then determine a memory address for each data slice. For example, the executing agent may randomly store the data shards into database shards of a distributed database. In some specific applications, in order to ensure the security of the encrypted data distribution, each data fragment may be stored in a different database fragment.
In some optional implementations of this embodiment, the execution body may further determine the storage address of the data slice by the following steps not shown in fig. 2: copying each encrypted data fragment; determining the corresponding relation between each encrypted data fragment and each database fragment in the distributed database; and taking the address of the database fragment corresponding to each data fragment as a storage address.
In this implementation, in order to ensure redundancy of the data fragments, the execution main body may copy each encrypted data fragment to obtain at least two identical data fragments. Then, the execution subject may determine a correspondence between each encrypted data fragment and each database fragment in the distributed database. Specifically, the executing body may select a database fragment for storing each encrypted data fragment from the database fragments on the premise that multiple parts of the same data fragment are not allocated to the same database fragment and that each data fragment corresponding to the target data is not allocated to the same database fragment. Finally, the executing agent may use the address of the database fragment storing each data fragment as the storage address of each data fragment.
And step 204, generating character strings corresponding to the data fragments according to the storage addresses of the data fragments.
In this embodiment, after obtaining the storage address of each data fragment, the execution main body may generate a character string corresponding to each data fragment. Specifically, the execution body may use the storage addresses of at least two data fragments as a character string corresponding to one of the data fragments.
Step 205, storing the encrypted data fragment and the generated character string.
The execution body may store the encrypted data fragment and the generated character string. Specifically, the execution agent may store the encrypted data fragments according to the storage address, and store the generated character string in the blockchain ledger.
It should be noted that all of the steps 201 to 205 may be executed by the same execution entity (i.e., the server 105 shown in fig. 1), or some of the steps may be executed by the server and some of the steps may be executed by the blockchain distributed storage server.
The method for storing data provided by the above embodiment of the application provides a safe and convenient login information storage method, which can facilitate a user to retrieve an account and a password of each application program.
In some optional implementations of this embodiment, the execution main body may further receive a request of adding, deleting, modifying, and checking the stored data from the user, so as to allow the user to flexibly process the stored data.
With continued reference to FIG. 3, a flow 300 of another embodiment of a method for storing data in accordance with the present application is illustrated. As shown in fig. 3, the method for storing data of the present embodiment may include the steps of:
step 301, in response to determining that the verification information sent by the user through the terminal passes the verification, receiving the target data from the terminal.
In this embodiment, the execution main body may further receive verification information sent by the user through the terminal. And judging whether the verification information passes the verification, and if so, receiving the target data from the terminal. The verification information may include biometric information of the user, such as a fingerprint, voice, etc. The execution subject may determine whether the user currently using the terminal is a previously registered user through the above-described biometric information. If so, the target data may be received.
In some optional implementations of this embodiment, the target data includes an associated application identification, account information, and password information. For example, the target data may include account information aaaa of application a and password information 1111. It will be appreciated that the target data may include account information and password information for a plurality of applications. The application identifier may be a name, a picture or a sound of the application.
In some optional implementation manners of this embodiment, the verification information may include the first biometric information, a login account number of a preset application program, and password information.
In other optional implementations of this embodiment, the terminal may be unlocked by the second biometric information of the user. And the first biometric information is different from the second biometric information. For example, the first biometric information may be a fingerprint of an index finger and the second biometric information may be a fingerprint of a middle finger. Alternatively, the first biological information may be fingerprint information and the second biological information may be voice. The preset application may be an application that stores information of a user.
The execution subject may determine whether the check information passes through the following steps: and in response to determining that the login account number is matched with the password information and that the first biological characteristic information is pre-registered, determining that the verification information passes verification.
In this implementation, the execution subject may first determine whether the login account is matched with the password information. And if so, continuously judging whether the first biological characteristic information is pre-registered biological characteristic information. If yes, the verification information is confirmed to pass the verification.
In some alternative implementations of the present embodiment, the target data may include video and images. The execution body may also implement the above step 301 by the following steps not shown in fig. 3: determining the type and the data volume of target data and determining the network environment of a terminal; and receiving the target data in response to the fact that the type and the data volume of the target data and the network environment meet preset conditions.
In this implementation, the execution subject may also determine the type and amount of the target data. The types may include video, images, and the like. The data amount is used to indicate the size of the data. The execution agent may also determine the network environment of the terminal. The network environment may include a way to access the network, such as through a WiFi access network, or through a cellular network. If the type of the target data is video, the data volume is larger than a preset threshold value, and the network environment is to access the network through a cellular network, it can be determined that the preset condition is not met currently, and the target data is not received. And if the network environment is changed to access the network through WiFi, the target data can be received if the preset condition is currently met.
It should be noted that, when the preset condition is not satisfied, the execution subject may generate a hidden file of the target data, and set the hidden file, so that the target data is automatically uploaded when the preset condition is satisfied.
Step 302, the target data is divided to obtain a plurality of data fragments.
Step 303, generating a key according to the verification information; each data fragment is encrypted using a key.
When the execution subject encrypts the data fragment, a key may be generated according to the verification information. Specifically, the executing entity may use the verification information as a key, or use a password in the verification information and the first biometric information as keys. The execution entity may then encrypt each data fragment using the key.
Step 304, determining the storage address of the encrypted data fragment.
Step 305, generating a character string corresponding to each data fragment according to the storage address of each data fragment.
In some optional implementation manners of this embodiment, the execution main body may generate a character string corresponding to each data fragment through the following steps: determining a hash code of a storage address of each data fragment; and for each data fragment, determining a character string corresponding to the data fragment according to the hash code corresponding to the data fragment and the hash code corresponding to the next data fragment.
In this implementation, the execution main body may calculate the hash code of the storage address of each data slice, that is, calculate the hash code of the storage address of each data slice by using a hash algorithm. Then, the execution body may combine the hash code corresponding to each data slice with the hash code corresponding to the next data slice, and use the combined character string as the character string corresponding to the data slice.
In addition, in this implementation manner, the character string of the first encrypted data fragment may also be stored locally in the execution main body. In this way, the execution main body may determine the storage address of the first encrypted data fragment according to the character string locally stored by the execution main body, and may also determine the storage address of the second encrypted data fragment. And then, determining the storage address of a third encrypted data fragment according to the character string corresponding to the second encrypted data fragment. Thus, all encrypted data fragments are obtained. And decrypting each encrypted data fragment to obtain decrypted data fragments. And finally, combining all the decrypted data fragments to obtain target data.
Step 306, storing the encrypted data fragment and the generated character string.
In some optional implementations of this embodiment, after storing each data slice, the method may further include the following steps not shown in fig. 3: generating an identification list according to the application program identification; and in response to receiving an access request aiming at the application program identification in the identification list, outputting the associated account information and password information.
In this embodiment, the execution subject may further generate an identification list according to the application program identification included in the target data. For example, the executing subject may take a picture of the application as each identifier in the list of identifiers.
If the execution subject receives an access request aiming at the application program identification in the identification list, the account information and the password information related to the application program identification can be output for a user to view.
It can be understood that, before outputting the associated account information and password information, the execution main body may pop up a verification information input interface for the user to input verification information in the interface, and after the verification information input by the user passes verification, output the associated account information and password information.
In some optional implementations of this embodiment, the method may further include the following steps not shown in fig. 4: receiving a query request from a terminal; acquiring biological characteristic information; and outputting the target data in response to determining that the biological characteristic information passes the verification.
In this implementation, the execution main body may further receive an inquiry request sent by the terminal. Meanwhile, the execution subject may also acquire biometric information. The biometric information is different from the biometric information of the user for unlocking the terminal. And after the execution main body determines that the biological characteristic information passes the verification, the execution main body can output target data for a user to check through a terminal.
In some optional implementations of this embodiment, the method may further include the following steps not shown in fig. 3: in response to receiving an access request for an application program identifier in the identifier list, determining a login link of the application program; generating a login request aiming at a login page indicated by the login link according to the associated account information and the password information; and outputting the received login result aiming at the login request to the terminal.
In this implementation, if the execution subject receives an access request for an application identifier in the identifier list, the execution subject may also determine a login link of the accessed application. The login link may be a link to a login interface of the application. Then, the execution subject may generate a login request for the login page indicated by the login link according to the account information and the password information associated with the application program. Specifically, the execution subject may encapsulate the login link, the account information, and the password information to obtain the login request. Finally, the execution subject can send out the login request and receive the login result aiming at the login request. The login result may include login success and login failure. The execution agent may output the login result to the terminal.
With continued reference to fig. 4, a schematic diagram of an application scenario of the method for storing data according to the present application is shown. In the application scenario of fig. 4, a user first inputs an account and a password of an application a for storing information through the mobile phone 401, inputs fingerprint information, and logs in the application a. Then, the user inputs the account and the password of the mailbox application in the application program A. The server 402 of application a may first segment the information and then encrypt each resulting data slice. The encrypted data fragments are sent to the blockchain distributed storage server 403. The blockchain distributed storage server 403 calculates a character string corresponding to each encrypted data fragment, and stores each character string in the blockchain ledger 404. The user may also query the account number and password of each previously stored application through application a.
The method for storing data provided by the above embodiment of the application can store the data of the user by using the block chain technology, and meanwhile, the data is verified when the data is stored and read, so that the safety of data storage is improved.
With further reference to fig. 5, as an implementation of the methods shown in the above-mentioned figures, the present application provides an embodiment of an apparatus for storing data, which corresponds to the method embodiment shown in fig. 2, and which is particularly applicable to various electronic devices.
As shown in fig. 5, the apparatus 500 for storing data of the present embodiment includes: a target data receiving unit 501, a target data dividing unit 502, a data fragment encrypting unit 503, a character string generating unit 504, and a data storage unit 505.
A target data receiving unit 501 configured to receive target data from a terminal.
The target data dividing unit 502 is configured to divide the target data into a plurality of data slices.
The data fragment encryption unit 503 is configured to encrypt each data fragment and determine a storage address of the encrypted data fragment.
The character string generating unit 504 is configured to generate a character string corresponding to each data slice according to the storage address of each data slice.
And a data storage unit 505 configured to store the encrypted data fragments and the generated character strings.
In some optional implementations of this embodiment, the data slice encryption unit 503 may be further configured to: copying each encrypted data fragment; determining the corresponding relation between each encrypted data fragment and each database fragment in the distributed database; and taking the address of the database fragment corresponding to each data fragment as a storage address.
In some optional implementations of the present embodiment, the character string generating unit 504 may be further configured to: determining a hash code of a storage address of each data fragment; and for each data fragment, determining a character string corresponding to the data fragment according to the hash code corresponding to the data fragment and the hash code corresponding to the next data fragment.
In some optional implementations of this embodiment, the target data receiving unit 501 may be further configured to: and receiving the target data from the terminal in response to determining that the verification information sent by the user through the terminal passes the verification.
In some optional implementations of the embodiment, the verification information includes the first biometric information, a login account number of the preset application program, and password information. The apparatus 500 may further include a verification unit, not shown in fig. 5, configured to determine that the verification information passes verification in response to determining that the login account number matches the password information and that the first biometric information is pre-registered.
In some optional implementations of this embodiment, the terminal is unlocked by a second biometric of the user, the first biometric being different from the second biometric.
In some optional implementations of this embodiment, the data slice encryption unit 503 is further configured to: generating a key according to the verification information; each data fragment is encrypted using a key.
In some optional implementations of this embodiment, the target data includes an associated application identification, account information, and password information. The apparatus 500 may further comprise an output unit, not shown in fig. 5, configured to: generating an identification list according to the application program identification; and in response to receiving an access request aiming at the application program identification in the identification list, outputting the associated account information and password information.
In some optional implementations of this embodiment, the apparatus 500 may further include a login unit, not shown in fig. 5, configured to: in response to receiving an access request for the application program identification in the identification list, determining a login link of the application program; generating a login request aiming at a login page indicated by the login link according to the associated account information and the password information; and outputting the received login result aiming at the login request to the terminal.
In some optional implementations of this embodiment, the target data receiving unit 501 may be further configured to: determining the type and the data volume of target data and determining the network environment of a terminal; and receiving the target data in response to the fact that the type and the data volume of the target data and the network environment meet preset conditions.
It should be understood that units 501 to 505, which are described in the apparatus 500 for storing data, correspond to the respective steps in the method described with reference to fig. 2, respectively. Thus, the operations and features described above for the method for storing data are equally applicable to the apparatus 500 and the units contained therein and will not be described again here.
According to an embodiment of the present application, an electronic device and a readable storage medium are also provided.
As shown in fig. 6, is a block diagram of an electronic device executing a method for storing data according to an embodiment of the application. Electronic devices are intended to represent various forms of digital computers, such as laptops, desktops, workstations, personal digital assistants, servers, blade servers, mainframes, and other appropriate computers. The electronic device may also represent various forms of mobile devices, such as personal digital processing, cellular phones, smart phones, wearable devices, and other similar computing devices. The components shown herein, their connections and relationships, and their functions, are meant to be examples only, and are not meant to limit implementations of the present application that are described and/or claimed herein.
As shown in fig. 6, the electronic apparatus includes: one or more processors 601, memory 602, and interfaces for connecting the various components, including a high-speed interface and a low-speed interface. The various components are interconnected using different buses and may be mounted on a common motherboard or in other manners as desired. The processor may process instructions for execution within the electronic device, including instructions stored in or on the memory to display graphical information of a GUI on an external input/output apparatus (such as a display device coupled to the interface). In other embodiments, multiple processors and/or multiple buses may be used, along with multiple memories and multiple memories, if desired. Also, multiple electronic devices may be connected, with each device providing portions of the necessary operations (e.g., as a server array, a group of blade servers, or a multi-processor system). One processor 601 is illustrated in fig. 6.
The memory 602 is a non-transitory computer readable storage medium as provided herein. Wherein the memory stores instructions executable by at least one processor to cause the at least one processor to perform the methods provided herein for storing data. The non-transitory computer readable storage medium of the present application stores computer instructions for causing a computer to perform the methods provided herein for storing data.
The memory 602, which is a non-transitory computer readable storage medium, may be used to store non-transitory software programs, non-transitory computer executable programs, and modules, such as program instructions/modules corresponding to the method for storing data (e.g., the target data receiving unit 501, the target data dividing unit 502, the data slice encrypting unit 503, the character string generating unit 504, and the data storing unit 505 shown in fig. 5) executed in the embodiments of the present application. The processor 601 executes various functional applications of the server and data processing by executing non-transitory software programs, instructions and modules stored in the memory 602, that is, implements the method for storing data performed in the above method embodiments.
The memory 602 may include a storage program area and a storage data area, wherein the storage program area may store an operating system, an application program required for at least one function; the storage data area may store data created according to use of an electronic device performed to store data, and the like. Further, the memory 602 may include high speed random access memory, and may also include non-transitory memory, such as at least one magnetic disk storage device, flash memory device, or other non-transitory solid state storage device. In some embodiments, the memory 602 optionally includes memory located remotely from the processor 601, which may be connected over a network to an electronic device executing software for storing data. Examples of such networks include, but are not limited to, the internet, intranets, local area networks, mobile communication networks, and combinations thereof.
The electronic device performing the method for storing data may further include: an input device 603 and an output device 604. The processor 601, the memory 602, the input device 603 and the output device 604 may be connected by a bus or other means, and fig. 6 illustrates the connection by a bus as an example.
The input device 603 may receive input numeric or character information and generate key signal inputs related to performing user settings and function control of the electronic apparatus for storing data, such as an input device of a touch screen, a keypad, a mouse, a track pad, a touch pad, a pointing stick, one or more mouse buttons, a track ball, a joystick, etc. The output devices 604 may include a display device, auxiliary lighting devices (e.g., LEDs), and tactile feedback devices (e.g., vibrating motors), among others. The display device may include, but is not limited to, a Liquid Crystal Display (LCD), a Light Emitting Diode (LED) display, and a plasma display. In some implementations, the display device can be a touch screen.
Various implementations of the systems and techniques described here can be realized in digital electronic circuitry, integrated circuitry, application specific ASICs (application specific integrated circuits), computer hardware, firmware, software, and/or combinations thereof. These various embodiments may include: implemented in one or more computer programs that are executable and/or interpretable on a programmable system including at least one programmable processor, which may be special or general purpose, receiving data and instructions from, and transmitting data and instructions to, a storage system, at least one input device, and at least one output device.
These computer programs (also known as programs, software applications, or code) include machine instructions for a programmable processor, and may be implemented using high-level procedural and/or object-oriented programming languages, and/or assembly/machine languages. As used herein, the terms "machine-readable medium" and "computer-readable medium" refer to any computer program product, apparatus, and/or device (e.g., magnetic discs, optical disks, memory, programmable Logic Devices (PLDs)) used to provide machine instructions and/or data to a programmable processor, including a machine-readable medium that receives machine instructions as a machine-readable signal. The term "machine-readable signal" refers to any signal used to provide machine instructions and/or data to a programmable processor.
To provide for interaction with a user, the systems and techniques described here can be implemented on a computer having: a display device (e.g., a CRT (cathode ray tube) or LCD (liquid crystal display) monitor) for displaying information to a user; and a keyboard and a pointing device (e.g., a mouse or a trackball) by which a user can provide input to the computer. Other kinds of devices may also be used to provide for interaction with a user; for example, feedback provided to the user can be any form of sensory feedback (e.g., visual feedback, auditory feedback, or tactile feedback); and input from the user may be received in any form, including acoustic, speech, or tactile input.
The systems and techniques described here can be implemented in a computing system that includes a back-end component (e.g., as a data server), or that includes a middleware component (e.g., an application server), or that includes a front-end component (e.g., a user computer having a graphical user interface or a web browser through which a user can interact with an implementation of the systems and techniques described here), or any combination of such back-end, middleware, or front-end components. The components of the system can be interconnected by any form or medium of digital data communication (e.g., a communication network). Examples of communication networks include: local Area Networks (LANs), wide Area Networks (WANs), and the Internet.
The computer system may include clients and servers. A client and server are generally remote from each other and typically interact through a communication network. The relationship of client and server arises by virtue of computer programs running on the respective computers and having a client-server relationship to each other.
According to the technical scheme of the embodiment of the application, the safe and convenient login information storage method is provided, and a user can conveniently retrieve the account and the password of each application program.
It should be understood that various forms of the flows shown above may be used, with steps reordered, added, or deleted. For example, the steps described in the present application may be executed in parallel, sequentially, or in different orders, and the present invention is not limited thereto as long as the desired results of the technical solutions disclosed in the present application can be achieved.
The above-described embodiments are not intended to limit the scope of the present disclosure. It should be understood by those skilled in the art that various modifications, combinations, sub-combinations and substitutions may be made in accordance with design requirements and other factors. Any modification, equivalent replacement, and improvement made within the spirit and principle of the present application shall be included in the protection scope of the present application.

Claims (20)

1. A method for storing data, comprising:
receiving target data from a terminal;
segmenting the target data to obtain a plurality of data fragments;
encrypting each data fragment and determining a storage address of the encrypted data fragment;
generating character strings corresponding to the data fragments according to the storage addresses of the data fragments;
storing the encrypted data fragments and the generated character strings;
wherein, the generating of the character string corresponding to each data fragment according to the storage address of each data fragment comprises:
determining a hash code of a storage address of each data fragment;
and for each data fragment, combining the hash code corresponding to the data fragment with the hash code corresponding to the next data fragment, and taking the character string obtained after combination as the character string corresponding to the data fragment.
2. The method of claim 1, wherein the determining a storage address of the encrypted data slice comprises:
copying each encrypted data fragment;
determining the corresponding relation between each encrypted data fragment and each database fragment in the distributed database;
and taking the address of the database fragment corresponding to each data fragment as a storage address.
3. The method of claim 1, wherein the receiving target data from a terminal comprises:
and receiving the target data from the terminal in response to the fact that the verification information sent by the user through the terminal passes the verification.
4. The method according to claim 3, wherein the verification information comprises first biometric information, a login account number and password information of a preset application program; and
the method further comprises the following steps:
in response to determining that the login account number matches the password information and that the first biometric information is pre-registered, determining that the verification information passes verification.
5. The method of claim 4, wherein the terminal is unlocked by second biometric information of the user, the first biometric information being different from the second biometric information.
6. The method of claim 4, wherein the encrypting each data slice comprises:
generating a key according to the verification information;
and encrypting each data fragment by using the key.
7. The method of claim 1, wherein the target data includes an associated application identification, account information, and password information; and
the method further comprises the following steps:
generating an identification list according to the application program identification;
and in response to receiving an access request aiming at the application program identifiers in the identifier list, outputting the associated account information and password information.
8. The method of claim 7, wherein the method further comprises:
in response to receiving an access request for an application program identifier in the identifier list, determining a login link of the application program;
generating a login request aiming at the login page indicated by the login link according to the associated account information and password information;
and outputting the received login result aiming at the login request to the terminal.
9. The method of claim 1, wherein the receiving target data from a terminal comprises:
determining the type and the data volume of the target data and determining the network environment of the terminal;
and receiving the target data in response to the fact that the type and the data volume of the target data and the network environment meet preset conditions.
10. An apparatus for storing data, comprising:
a target data receiving unit configured to receive target data from a terminal;
a target data dividing unit configured to divide the target data into a plurality of data fragments;
the data fragment encryption unit is configured to encrypt each data fragment and determine a storage address of the encrypted data fragment;
a character string generation unit configured to generate a character string corresponding to each data fragment according to a storage address of each data fragment;
a data storage unit configured to store the encrypted data slice and the generated character string;
the character string generation unit is further configured to: determining a hash code of a storage address of each data fragment; and for each data fragment, combining the hash code corresponding to the data fragment with the hash code corresponding to the next data fragment, and taking the character string obtained after combination as the character string corresponding to the data fragment.
11. The apparatus of claim 10, wherein the data slice encryption unit is further configured to:
copying each encrypted data fragment;
determining the corresponding relation between each encrypted data fragment and each database fragment in the distributed database;
and taking the address of the database fragment corresponding to each data fragment as a storage address.
12. The apparatus of claim 10, wherein the target data receiving unit is further configured to:
and receiving the target data from the terminal in response to the fact that the verification information sent by the user through the terminal passes the verification.
13. The apparatus of claim 12, wherein the verification information comprises first biometric information, a login account number of a preset application program, and password information; and
the device further comprises:
a verification unit configured to determine that the verification information passes verification in response to determining that the login account number matches the password information and that the first biometric information is pre-registered.
14. The apparatus of claim 13, wherein the terminal is unlocked by second biometric information of the user, the first biometric information being different from the second biometric information.
15. The apparatus of claim 13, wherein the data slice encryption unit is further configured to:
generating a key according to the verification information;
and encrypting each data fragment by using the key.
16. The apparatus of claim 10, wherein the target data comprises an associated application identification, account information, and password information; and
the apparatus further comprises an output unit configured to:
generating an identification list according to the application program identification;
and in response to receiving an access request aiming at the application program identification in the identification list, outputting the associated account information and password information.
17. The apparatus of claim 16, wherein the apparatus further comprises a login unit configured to:
in response to receiving an access request for an application program identifier in the identifier list, determining a login link of the application program;
generating a login request aiming at a login page indicated by the login link according to the associated account information and password information;
and outputting the received login result aiming at the login request to the terminal.
18. The apparatus of claim 10, wherein the target data receiving unit is further configured to:
determining the type and the data volume of the target data and determining the network environment of the terminal;
and receiving the target data in response to the fact that the type and the data volume of the target data and the network environment meet preset conditions.
19. An electronic device for storing data, comprising:
at least one processor; and
a memory communicatively coupled to the at least one processor; wherein,
the memory stores instructions executable by the at least one processor to enable the at least one processor to perform the method of any one of claims 1-9.
20. A non-transitory computer readable storage medium having stored thereon computer instructions for causing the computer to perform the method of any one of claims 1-9.
CN202010902474.0A 2020-09-01 2020-09-01 Method, device, equipment and storage medium for storing data Active CN112016110B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010902474.0A CN112016110B (en) 2020-09-01 2020-09-01 Method, device, equipment and storage medium for storing data

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010902474.0A CN112016110B (en) 2020-09-01 2020-09-01 Method, device, equipment and storage medium for storing data

Publications (2)

Publication Number Publication Date
CN112016110A CN112016110A (en) 2020-12-01
CN112016110B true CN112016110B (en) 2023-02-28

Family

ID=73516550

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010902474.0A Active CN112016110B (en) 2020-09-01 2020-09-01 Method, device, equipment and storage medium for storing data

Country Status (1)

Country Link
CN (1) CN112016110B (en)

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114006690A (en) * 2021-01-04 2022-02-01 北京八分量信息科技有限公司 Data authorization method of block chain
CN113132484B (en) * 2021-04-20 2022-10-25 北京奇艺世纪科技有限公司 Data transmission method and device
CN113377596A (en) * 2021-06-21 2021-09-10 芯华章科技股份有限公司 Method for storing and reading waveform data and related device
CN113486374A (en) * 2021-07-14 2021-10-08 郑州轻工业大学 Computer data storage and reading method and system based on cloud computing
CN113612705B (en) * 2021-08-02 2023-08-22 广西电网有限责任公司 Hash algorithm slicing and recombination-based power grid monitoring system data transmission method
CN113722742B (en) * 2021-09-13 2024-04-16 青岛海信宽带多媒体技术有限公司 Terminal and firmware file encryption storage method of optical module MCU (micro control Unit) by terminal
CN114448999A (en) * 2021-12-21 2022-05-06 杭州华橙软件技术有限公司 Data storage method, device, system, electronic device and storage medium
CN115987513B (en) * 2023-03-17 2023-06-20 山东浪潮科学研究院有限公司 Distributed database fragment encryption and decryption methods, devices, equipment and media

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104954890A (en) * 2015-06-24 2015-09-30 深圳市世文通文化传播有限公司 Cloud storage image smashing and uniform sending method
CN105426724A (en) * 2015-11-24 2016-03-23 上海斐讯数据通信技术有限公司 Electronic image encryption method and device, electronic image decryption method and device, and equipment
CN105975877A (en) * 2016-07-01 2016-09-28 中国联合网络通信有限公司重庆市分公司 Safe storage method for sensitive file
CN108737080A (en) * 2017-04-18 2018-11-02 阿里巴巴集团控股有限公司 Storage method, device, system and the equipment of password

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104954890A (en) * 2015-06-24 2015-09-30 深圳市世文通文化传播有限公司 Cloud storage image smashing and uniform sending method
CN105426724A (en) * 2015-11-24 2016-03-23 上海斐讯数据通信技术有限公司 Electronic image encryption method and device, electronic image decryption method and device, and equipment
CN105975877A (en) * 2016-07-01 2016-09-28 中国联合网络通信有限公司重庆市分公司 Safe storage method for sensitive file
CN108737080A (en) * 2017-04-18 2018-11-02 阿里巴巴集团控股有限公司 Storage method, device, system and the equipment of password

Also Published As

Publication number Publication date
CN112016110A (en) 2020-12-01

Similar Documents

Publication Publication Date Title
CN112016110B (en) Method, device, equipment and storage medium for storing data
US11637703B2 (en) Zero-knowledge environment based social networking engine
US11399079B2 (en) Zero-knowledge environment based networking engine
US10235539B2 (en) Server device, recording medium, and concealed search system
US9734343B2 (en) Detection and prevention of sensitive information leaks
CN111125763B (en) Method, device, equipment and medium for processing private data
US10360402B2 (en) Intercepting sensitive data using hashed candidates
CN111565109A (en) Key processing method, device, equipment and medium for block chain
US10169600B2 (en) Encryption policies for various nodes of a file
CN111310204B (en) Data processing method and device
US9565193B2 (en) Utilization of multiple keypads for password inputs
US10601580B2 (en) Secure order preserving string compression
US9626410B2 (en) Vertically partitioned databases
CN111756684A (en) System and method for transmitting confidential data
US11550896B2 (en) Password strength
CN115270180A (en) Log storage and packaging method and device
CN111371557A (en) Block chain data processing method and device, electronic equipment and medium
CN110874487B (en) Data processing method and device, electronic equipment and storage medium
US11528140B2 (en) Compromised access token invalidation in a singleton process
US20220405420A1 (en) Privacy preserving data storage
US20230208634A1 (en) Key management method and apparatus
CN114254311A (en) System and method for anonymously collecting data related to malware from a client device
CN114866337A (en) Shared data auditing method, device, apparatus, storage medium, and program product

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant