Rijndael 192位块大小mcrypt替代

时间:2018-01-24 13:55:50

标签: php encryption mcrypt php-openssl

请在阅读此问题之前将其作为重复内容(尽管实际上是,但不确定为什么我找不到它,但是太棒了!!)

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

我们必须迁移的PHP 7.2,不再包含mcrypt。

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

我遇到的问题是遗留数据,我无法看到如何在没有mcrypt的情况下解密它。没有选择修改遗留数据,因为这对我们来说是不可行的。

所以我的问题是,如何解密我使用rijndael加密的数据,块大小为192,没有mcrypt?

由于

1 个答案:

答案 0 :(得分:1)

以为我会在问题悬而未决的时候向我报告。

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

  1. 从PHP PECL扩展存储库在PHP 7.2中安装mcrypt并继续使用它。
  2. 使用mcrypt库在PHP 7.1中解密我的数据,并使用128块大小的openssl AES密码重新加密。
  3. 我们选择了第2选项。虽然它很缓慢而且痛苦,但远离mcrypt显然是更好的长期解决方案。