Before we start looking at how encryption works in PHP, it is important that you understand a few pieces of encryption jargon:
The encryption method used to encrypt your data. Popular ones are TripleDES, Blowfish and Rijndael (now called AES)
This is encryption where different keys are used to encrypt and decrypt data. PHP does not support asymmetric encryption.
The encrypted version of your source text
Initialisation Vector - a seed for encryption and decryption. The IV used for encryption must match the one used for decryption. Your IV need not be kept secure, but it is generally best to keep it secure anyway.
The secret encryption value used to encrypt your data. Combined with the IV, this forms your security - you should keep the key secret.
Your original source text, unencrypted
This is encryption where the same key is used to encrypt your data as it is to decrypt it