Rijndael 192 位块大小 mcrypt 替代方案

Rijndael 192-bit block size mcrypt alternative

请先阅读此问题,然后再下意识地将其作为重复项(尽管如果它确实是重复项,我不确定为什么我找不到它,但太棒了!!)

多年来,我们一直在 cfb 模式下将 mcrypt 与 rijndael-192 模块一起使用。我们有很多用它加密的东西。

PHP 我们必须移动到的 7.2,不再包括 mcrypt。

Openssl AES 不支持 192 块大小(或 128 以外的任何块大小)。因此,今后我将更改对称加密。

我的问题是遗留数据,如果没有 mcrypt,我看不出如何解密它。没有修改遗留数据的选项,因为这对我们来说是不可行的。

所以我的问题是,如何在不使用 mcrypt 的情况下解密使用块大小为 192 的 rijndael 加密的数据?

谢谢

我想我应该报告,因为我讨厌当问题悬而未决时。

除了使用 mcrypt 库之外,我没有发现其他方法可以在 PHP 内使用 192 块大小解密 Rijndael(AES) 密码。我有两个选择:

  1. 从 PHP PECL 扩展存储库安装 PHP 7.2 中的 mcrypt 并继续使用它。
  2. 使用 mcrypt 库在 PHP 7.1 中解密我的数据,然后使用具有 128 个块大小的 openssl AES 密码重新加密。

我们选择了选项 2。虽然它缓慢而痛苦,但远离 mcrypt 显然是更好的长期解决方案。