如何使用PHP解密AES / CFB / NoPadding

时间:2019-07-10 18:29:03

标签: java php

我在PHP中有以下代码,但看起来它返回了我想要的值

// AES/CFB/NoPadding
$str1 = 'bkZnQUl3WVF1bXl2ZUpUYg==';
$str2 = 'nFgAIwY';
$str3 = 'pYQ4/pRt1g0EEdMuf8j2hg==';

var_dump(decrypt_mcrypt($str2, $str3, $str1));
// I want return (example): 07101955lpnuSs7p

function decrypt_mcrypt($key, $str, $iv)
{
    $str = base64_decode($str);
    $iv = base64_decode($iv);
    return openssl_decrypt($str, "aes-128-cfb", $key, true, $iv);
}

原始Java代码:

AlgorithmParameterSpec ivParameterSpec = new IvParameterSpec(Base64.decode(str3));
Key secretKeySpec = new SecretKeySpec(str2.getBytes(), "AES");
Cipher instance = Cipher.getInstance("AES/CFB/NoPadding");
instance.init(2, secretKeySpec, ivParameterSpec);
return new String(instance.doFinal(Base64.decode(str)));

0 个答案:

没有答案