とある古いPHPでPearのCrypt_Blowfishを使って暗号化が行われています。PHPのバージョンアップをする必要があり、blowfishをopensslに置き換えたいです。
下記のコードを書いてみたのですが、結果が一致しません。秘密鍵、初期ベクトルは全く同じです。
一致しない原因はどこにあるのでしょうか?また、一致させる方法を教えていただけないでしょうか?よろしくお願い致します。
php
1//Using Crypt_Blowfish 2<?php 3require_once 'Crypt/Blowfish.php'; 4 5$mode = 'cbc'; 6$secretKey = 'optional value'; 7$iv = "\x00\x01\x02\x03\x04\x05\x06\x07"; # 8byte initial vector 8$blowfish = Crypt_Blowfish::factory($mode, $secretKey, $iv); 9$target = 'test'; 10$binary = $blowfish->encrypt($target); 11$result = base64_encode($binary); 12echo $result
php
1//Using openssl 2$target = 'test'; 3$secret_key = 'optional value'; 4$iv = "\x00\x01\x02\x03\x04\x05\x06\x07"; # 8byte initial vector 5echo openssl_encrypt($target, 'bf-cbc', $secret_key, 0, $iv);
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。