The invention discloses a data storage and sharing system, comprising a first terminal, a cloud server and a second terminal, wherein the first terminal is used for encrypting main keys and file names to generate a symmetrical sub-key set, then encrypting files to be encrypted by using symmetrical sub-keys to generate an encrypted file set, and uploading the encrypted file set; the second terminal is used for downloading a target encrypted file from the cloud server, and sending a requested mail to a target mail address; the first terminal is further used for, when a user agrees with sharing files, sending the encrypted target symmetrical sub-keys to the second terminal via a mail, and when the user does not agree with sharing, replying a rejection instruction via a mail; and the second terminal is further used for, after receiving the encrypted target symmetrical sub-keys, decrypting the encrypted target symmetrical sub-keys to obtain the target symmetrical sub-keys, and decrypting the target encrypted file by using the target symmetrical sub-keys to obtain a decrypted file, thus completing file sharing. The system can improve the data storage and sharing security.