PHP PEAR Crypt_CBC在Java中的实现

时间:2019-02-21 12:41:36

标签: java php encryption pear blowfish

我正在尝试使用BLOWFISH密码加密值。实现必须在Java中,并且结果必须与php版本相同:

require_once('/usr/share/php/Crypt/CBC.php');
....
$cipher = new Crypt_CBC($key, 'BLOWFISH');
$encryptedPassword = $cipher->encrypt($valueToEncrypt);
echo "ENCODED STRING: " . $encryptedPassword;
$encodedPassword = base64_encode($encryptedPassword);
echo "ENCRYPTED STRING: " . $encodedPassword;

我尝试了类似的方法,但是我无法获得与远程相似的结果:

SecretKeySpec keySpec = new SecretKeySpec(key.getBytes(), "Blowfish");
String IV = "RandomIV";
Cipher cipher = Cipher.getInstance("Blowfish/CBC/PKCS5Padding");
init(Cipher.ENCRYPT_MODE, keySpec
    , new javax.crypto.spec.IvParameterSpec(IV.getBytes())
);
byte[] encryptedBytes = cipher.doFinal(toEncrypt.getBytes());
String encoded =  Base64.getEncoder().encodeToString(encryptedBytes);

任何帮助的想法都会受到赞赏

0 个答案:

没有答案