Blowfishで復号化したデータ末尾にゴミがついた場合

投稿者: | 2011年6月1日

Blowfishは、md5とは違い、可逆暗号化なので、暗号化して保存後、暗号化前のデータを使いたい時に使えて便利。
使い方としては、暗号化したいデータをBlowfishで暗号化

$crypt_data = $blowfish->encrypt($data);

base64_encodeでバイナリからテキストにしてデータベース他に保存
必要に応じて取り出したデータをBlowfishで復号化して使用。

$data = $blowfish->decrypt($crypt_data);

基本的にはこのステップだが、実際には復号化したデータの末尾にヌルコードのゴミ(€¥0)が残る時があるから、rtrimをかけておくとよい。

$data = rtrim($data,'¥0');