密码模式CTR在安装的OpenSSL库PHP中不可用

时间:2016-04-18 12:04:43

标签: php encryption

我使用crypto库加密PHP中的Google Chrome通知数据。

我有OpenSSL个版本:OpenSSL 1.0.1e-fips 11 Feb 2013

当我尝试运行时:$cipher = Cipher::aes(Cipher::MODE_GCM, 128);

我收到此错误:

  

密码模式CTR在安装的OpenSSL库中不可用。

有什么方法可以解决这个问题吗?

1 个答案:

答案 0 :(得分:1)

我认为,这里有两件事情。你这样做了:

Cipher::aes(Cipher::MODE_GCM, 128);

您正在获得一个错误模式:

  

密码模式CTR在安装的OpenSSL库中不可用。

GCM和CTR是API级别的两种不同模式。 GCM处于基本级点击率模式,MAC based on Galois field multiplication

GCM失败,因为点击率模式不可用。

为什么它不可用?这可能是因为您正在使用FIPS版本的OpenSSL(OpenSSL 1.0.1e-fips 11 Feb 2013)。也可能是因为您的OpenSSL版本已超过3年(并且可能容易受到Heartbleed的影响)。现在这个幸福的地方是OpenSSL 1.0.2g