【问题标题】:PHP. PEAR. Crypt_RSA errorphp。梨。 Crypt_RSA 错误
【发布时间】:2012-12-06 00:56:56
【问题描述】:

我需要为我的数据创建密钥和 rsa 签名。例如在http://phpseclib.sourceforge.net/rsa/examples.html 上做最终会看到一个错误:

不推荐使用:在第 228 行的 Z:\home\localhost\www\Crypt\RSA.php 中不推荐使用通过引用分配 new 的返回值

我做错了什么?

【问题讨论】:

标签: php pear


【解决方案1】:

你的第 228 行是什么? PEAR 的 Crypt_RSA 的第 228 行是这样的:

https://github.com/pear/Crypt_RSA/blob/master/Crypt/RSA.php#L228

这确实被弃用了。

phpseclib 的 Crypt_RSA 的第 228 行已经是很多版本的注释或定义:

我的猜测:您正在使用 PEAR 的 Crypt_RSA,并且将它与 phpseclib 的 Crypt_RSA 混淆了。它们是一回事。 PEAR 的 整个 Crypt_RSA(不仅仅是其中的几行,而是整个包)在 pear.net 中被弃用:

http://pear.php.net/package/Crypt_RSA

【讨论】:

    【解决方案2】:

    这更多的是警告,而不是错误。该代码仍然有效。尝试将您的 error_reporting 级别更改为不包含 E_DEPRECATED 错误。

    【讨论】:

      【解决方案3】:

      谢谢大家)我必须删除 RSA 签名数据。拒绝Crypt_RSA为此选择http://php.net/manual/en/function.openssl-sign.php

      【讨论】:

      • 明智的选择。我也使用 openssl-sign,但我也使用 Crypt_RSA 的维护包/实现对其进行了仔细检查,以确保 openssl 算法仍然以 PKCS1 格式正确创建它 - 即使在较新版本的 PHP 中...: packagist.org/packages/phpseclib/phpseclib
      猜你喜欢
      • 1970-01-01
      • 2012-06-24
      • 1970-01-01
      • 1970-01-01
      • 2012-07-03
      • 1970-01-01
      • 2011-01-15
      • 2013-02-19
      • 1970-01-01
      相关资源
      最近更新 更多