当我尝试使用POST向具有此行的脚本发出请求时:

$decrypted_data = openssl_decrypt($encrypted_data, 'AES-256-CBC', $key);

我收到以下错误:

致命错误:在第11行的mypath / usuario_webservice.php中调用未定义的函数openssl_decrypt()

经过一些研究后,常见的原因是为函数输入了错误的名称,或者我的Web服务器上没有安装openssl扩展名。 事实证明,它是在我检查支持时安装的。 那么,我还应该寻找什么呢?

#1楼 票数:11

我发布这个,因为它可能对一些人有帮助。

  • 检查extension=php_openssl.dll已在php.ini启用。
  • 检查extension_dir是否在php.ini正确指向。

如果你最近升级了你的php版本而不是你的Apache,那么可能是正确的libeay32.dllssleay32.dll没有被读取,这是openssl或某些版本不匹配的要求。

  • 获取libeay32.dllssleay32.dll最新版本,或者从你的php目录中复制它,例如C:\\php并覆盖Apache \\ bin中的文件,如C:\\Apache24\\bin目录。

希望这会有所帮助。

#2楼 票数:2

通过删除分号在php.ini文件中启用此扩展

extension=php_openssl.dll

重新启动Apache服务器并重试
希望有帮助:)

#3楼 票数:1

我有这个问题,所以我只是使用了phptclib的Crypt_AES:

<?php
include('Crypt/AES.php');

$cipher = new Crypt_AES(); // it's cbc by default
$cipher->setKeyLength(256);
$cipher->setKey('abcdefghijklmnopijklmnopqrstuvwxyz3456');

$size = 10 * 1024;
$plaintext = str_repeat('a', $size);

echo $cipher->decrypt($cipher->encrypt($plaintext));
?>

  ask by CJ_COIMBRA translate from so

未解决问题?本站智能推荐:

1回复

从mcrypt_decrypt到openssl_decrypt

我有一个问题,我想用 open_ssl 解密替换对 mcrypt 的函数调用。 但输出是混合的: 这是 mcrypt 实现(效果很好): 我把它翻译成: , 但这会导致错误: openssl_decrypt():传递的 IV 长度为 24 个字节,比所选密码预期的 16 个字节长,截断和混合输
2回复

使用openssl_decrypt()和passphase(不是key/iv)

我正在尝试解密一些在PHP脚本中使用密码和aes-256-cbc方法加密的数据。 这是我如何加密原始数据 当我尝试在命令行中解密它时它工作正常 但是当我在我的PHP脚本中使用openssl_decrypt()时它不起作用!! 我附加以下行来获取错误 它返回: 错误:06
1回复

如何将openssl_decrypt用作JAVA?

我想知道如何在 JAVA 中使用 openssl_decrypt? 这是PHP代码 这是我的 JAVA 代码 PHP 代码可以正确解密,但在 JAVA 中出现错误“参数丢失” 我该如何解决这个问题。 谢谢。
4回复

调用未定义的函数Illuminate\\Encryption\\openssl_decrypt()

我正在使用 xampp 和 windows 以及 laravel,一切正常,但是当我完成工作并关闭 xampp 并尝试在今天早上打开我的工作时,这就是我得到的: Encrypter.php 是一个标准的 Laravel 文件,我什至没有接触过它。 我的扩展已打开。 扩展=php_openssl.d
1回复

openssl_decrypt不解密使用openssl_encrypt存储的数据

我需要对无法存储为纯文本的非敏感数据进行简单的加密/解密。 我把这个类放在一起,openssl_decrypt 返回 false,但我不知道为什么。
1回复

适用于AES-128-CBC的openssl_decrypt无法正常工作

我正在解密一些来自API的内容。 他们也提供了命令。 因此,在下面进行了一些调整后,该命令就可以正常工作: 我需要用PHP编写代码,所以我需要用PHP翻译相同的东西,这就是我用PHP编写的内容: 作为响应,我得到的是一串奇数字符,而不是我可以从命令行中的openssl命令获得的实际字
2回复

PHP警告:openssl_decrypt():传递的IV长度为32个字节,比所选密码预期的16个字节长

我需要在我的应用程序中实现 openSSL,因为我们不得不将版本从 5.6 更改为版本 7.2 我想了解如何解决这个问题。 对我的环境或我如何使用该应用程序有任何疑问,只要问我会回应。 这是生成加密的代码,看看您是否能理解并帮助我解决问题,用于加密的语言是 C# 和用于解密的语言和 PHP 7.2
2回复

openssl_verify在eclipsephp项目中的openssl.php中没有OPENSSL_ALGO_SHA256定义

我试图在使用Eclipse PDT的php项目中将openssl_verify与OPENSSL_ALGO_SHA256一起使用。 但是我无法验证OPENAPI_ALGO_SHA256是否在Core API的openssl.php文件中未定义。 我通过指定PHP 5.4创建项目,正如PHP文档