2016-03-15 78 views
0

我已经实现了PECL扩展gnupg(pecl.php.net/gnupg-1.3.6 )密码加密和解密在我的项目。PHP PECL GNUPG扩展需要更多的时间

在500+用户的负载测试期间,方法$ this-> gnu-> setarmor(0);和$ this-> gnu-> adddecryptkey()比其他PHP处理消耗更多的时间。例如:如果平均登录时间需要10秒,则gnupg的处理时间仅需5到6秒。

只是想知道为什么gnupg在负载测试中需要更多的时间。

有什么建议吗?

+0

我已经投票将其视为“太宽泛”。在没有看到您执行的代码和/或进一步分析的情况下,几乎不可能对您的问题提供任何合理的回应。 –

+0

加密密码的方式是可以解密的。使用密码散列函数会更典型,如['password_hash'](http://php.net/manual/en/function.password-hash.php)(或者在PHP 5.5之前['crypt' ](http://php.net/manual/en/function.crypt.php))并使用['password_verify']验证密码(http://php.net/manual/en/function.password-verify。 PHP)(或通过再次调用'crypt'并比较哈希)。 –

+0

功能早在2008年就可能实现,可悲的是我对这个项目很陌生。在Jmeter中500多个用户的负载测试期间,这个Gnupg单独消耗更多时间,并且因为gnupg是PECL扩展,所以我没有在这个线程中添加任何源代码,我调用的唯一函数是$ this-> gnu-> setarmor(0) ;和$ this-> gnu-> adddecryptkey()。 –

回答