我们有一些看起来像这样的遗留代码:
$crypt = mcrypt_module_open('rijndael-256', '', 'ofb', '');
$iv = mcrypt_create_iv(mcrypt_enc_get_iv_size($crypt), MCRYPT_DEV_URANDOM);
$ks = mcrypt_enc_get_key_size($crypt);
mcrypt_generic_init($crypt, $key, $iv);
$encrypted = base64_encode(mcrypt_generic($crypt, $plain));
我知道需要删除此遗留代码(mcrypt
已弃用)并且需要确定我是否可以使用mcrypt 以外的其他方式解密数据......或者我们是否需要找到一种方法将数据迁移到另一个加密方案完全提前拆除mcrypt
。
是否有等效的 PHPSecLib(或其他?)代码可以解密mcrypt
此处加密的内容?
我已经尝试过了,但没有得到有效的结果:
$iv_size = 32;
$cipher = new phpseclib3\Crypt\Rijndael('ofb');
$cipher->setBlockLength(256);
$cipher->setKey($key);
$cipher->setIV($iv);
echo $cipher->decrypt(base64_decode($encrypted));