PHPで3DES-CBCで暗号化されたデータを復号したい
開発言語はPHPです。
データは以下のアルゴリズムで暗号化されています。
3DES-CBC(Paddingなし)
Padding文字列:半角スペース
1、暗号化
Padding処理
自動Paddingなしなので最後の8バイトブロックに対して必要な分だけ半角スペースで埋める
3DES-CBC
秘密キーと初期化ベクトル(iv)で暗号化
BASE64エンコード
2、復号化
上記の逆なので
BASE64デコード
3DES-CBC復号化
空白を除去
で良いと思うのですが、以下のような感じで良いのでしょうか?
$encrypt; //暗号化されたデータ
//BASE64デコード
$data = base64_decode($encrypt);
$des; //秘密キー
$iv; //初期化ベクトル(iv)
//使用するアルゴリズムおよびモードのモジュールをオープン
$em = mcrypt_module_open(MCRYPT_3DES, '', MCRYPT_MODE_CBC, '');
// 暗号化に必要な全てのバッファを初期化
mcrypt_generic_init($em, $des, $iv);
//復号化する
$decode = mdecrypt_generic($em, $data);
//空白を除去する
$result = trim($decode);
よろしくお願いします。