Terms you need to know

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)

Asymmetric encryption

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

Symmetric encryption

This is encryption where the same key is used to encrypt your data as it is to decrypt it


Want to learn PHP 7?

Hacking with PHP has been fully updated for PHP 7, and is now available as a downloadable PDF. Get over 1200 pages of hands-on PHP learning today!

If this was helpful, please take a moment to tell others about Hacking with PHP by tweeting about it!

Next chapter: Asymmetric vs. Symmetric >>

Previous chapter: Data encryption

Jump to:


Home: Table of Contents

Copyright ©2015 Paul Hudson. Follow me: @twostraws.