phpで共通鍵暗号を使った(暗号化/復号化)を行うには, mcrypt , OpenSSL , PEAR::Crypt_Blowfish などがありますが、
mcrypt は近い将来 php 7.2で削除されますし、PEAR::Crypt_Blowfishも古いライブラリーなので
OpenSSL から共通鍵暗号を使用します。
http://php.net/manual/ja/migration71.deprecated.php
mcrypt 拡張モジュールは十年近くにわたって放置されており、極めて使いづらいものです。
そこで、この拡張モジュールを非推奨にしました。
かわりに OpenSSL を使いましょう。 mcryptは PHP 7.2 でコアから削除されて、PECL に移る予定です。
$data = 'あいうえおかきくけこさしすせそ';
// 利用可能な暗号メソッド一覧
$ciphers = openssl_get_cipher_methods();
print_r($ciphers);
// 暗号化方式
$method = 'AES-256-CBC';
// IV(初期化ベクトル)に必要な長さを取得
$iv_length = openssl_cipher_iv_length($method);
// IV(初期化ベクトル)をランダム生成
$iv = openssl_random_pseudo_bytes($iv_length);
// OPENSSL_RAW_DATA と OPENSSL_ZERO_PADDING を指定可
$options = 0;
// 暗号化
$encrypted = openssl_encrypt($data, $method, $password, $options, $iv);
echo "暗号文:" .$encrypted . "\n";
// 復号
$decrypted = openssl_decrypt($encrypted, $method, $password, $options, $iv);
echo "平文:" .$decrypted ."\n";