$cipher = 'des-ede3'; $ivlen = openssl_cipher_iv_length($cipher); $iv = openssl_random_pseudo_bytes($ivlen);Fatal error: Uncaught Error: Length must be greater than 0 openssl_random_pseudo_bytes(0)#amhFatal error: Uncaught Error: Length must be greater than 0 openssl_random_pseudo_bytes(0)
这跟openssl版本没关系,des-ede3的iv长度是0的,传到openssl_random_pseudo_bytes就会出错的。你可以换其它算法如des-ede3-cbc、des-ede3-cfb等。
首先,要理解你遇到的问题,openssl_cipher_iv_length
函数应该返回给定加密算法的初始化向量(IV)的长度。如果这个函数返回0,那么通常意味着给定的加密算法在你的PHP环境中的OpenSSL库中不可用或不支持。
对于你提到的 des-ede3
加密算法,这是3DES的一种模式,通常应该有一个有效的IV长度。但是,如果openssl_cipher_iv_length
返回0,可能是因为你的PHP环境中的OpenSSL库版本太旧或配置不当。
关于如何在 amh(我假设你指的是某种特定的Web托管环境或控制面板,比如cPanel或某种特定的主机管理系统)中升级PHP的OpenSSL版本,这通常涉及到以下几个步骤:
openssl_get_cipher_methods()
函数或直接在命令行中使用openssl version
来检查。请注意,这个过程可能相当复杂,特别是如果你不熟悉服务器管理或编译PHP的话。此外,如果你在共享主机或受限制的环境中工作,你可能无法直接执行这些操作。
对于你遇到的特定错误,如果openssl_cipher_iv_length
返回0,你可以尝试以下步骤:
des-ede3
。你可以通过openssl_get_cipher_methods(true)
获取一个包含所有可用加密算法的数组,并检查des-ede3
是否在其中。des-ede3
,以及是否有任何已知的问题或限制。des-ede3
在你的环境中不可用,你可能需要选择一个不同的加密算法。最后,我建议你查阅你使用的托管环境或服务器的文档,以获取关于如何升级PHP和OpenSSL库的特定指导。
第一次用AMH,有个问题,如何来升级PHP,NGINX和MYSQL? 安装的时候选择好了版本,之后如何来升级这些东西呢? 没有找到哪里可以升级
我必须在cpanel终端上运行composer来安装和主持laravel项目。但是,它给出了这个错误 我进入
我在maven中使用spring boot 2.3.3.RELEASE和相应的spring boot starter父代。 由于spring4shell CVE,我想将spring-Framework升级到5.2.20。RELEASE而不是已经包含的5.2.8。RELEASE。我尝试从spring-boot-依赖项中覆盖属性。 但它没有起作用。我还查看了spring-boot-starter-we
python里调用import paddle时报错如下: "urllib3 v2.0 only supports OpenSSL 1.1.1+, currently " ImportError: urllib3 v2.0 only supports OpenSSL 1.1.1+, currently the 'ssl' module is compiled with OpenSSL 1.1.0j
问题内容: 我正在尝试更新我的PHP(当前是v:5.3.3,是最新的稳定PHP版本),但它没有发挥作用,它表示没有任何更新。 任何帮助将是有用的。 一直说: 没有软件包标记为更新 问题答案: 正如Jacob所提到的,目前CentOS软件包回购似乎只有PHP 5.3可用。但是这些命令似乎对我有用… 您也可以使用或(如果需要)。 警告! 如果它不能完全解决您的所有依赖性,则可能会破坏您的网站,因此在某
在这里,我在将应用程序导入android studio时面临很多问题。 需要升级gradle版本。