The present invention provides a data encryption and decryption method, a data uploading terminal, a data receiving terminal and a system. The method includes an encryption method and a decryption method. The encryption method includes: obtaining data plaintext and an AES key, and combining the AES key to encrypt the data plaintext, Obtain the data ciphertext; encode the data ciphertext to obtain a string ciphertext and write it into the blockchain database. The decryption method includes: obtaining data ciphertext, a decryption password and a preset password, and authenticating the decryption password and the preset password; when the authentication is passed, outputting the data plaintext; when the authentication is not passed, outputting the data ciphertext. The above data encryption and decryption method, data uploading end, data receiving end and system, through password authentication, does not involve key distribution, and different Bloom filters can be set for different groups of data for verification, so as to realize the differential verification of data , to ensure data security, and solve the technical problem that encryption algorithms in the prior art need to manage keys, resulting in potential safety hazards in data security.