草庐IT

hash_func

全部标签

静态方法上的 PHP call_user_func

我在Symfony2上开发,我需要调用一个类的方法,两者都只在运行时已知。我已经成功使用了variablefunctions和call_user_func在项目中,但是这次他们给我出了问题...我的代码是这样的namespaceMyBundleNamespace;useMyBundle\Some\Class;classMyClass{publicstaticfunctionmyFunction(){...}}在其他一些文件中我需要这样做MyClass::myFunction();但是动态的,所以我都试过了$class="MyClass";$method="myFunction";$cl

php - 什么密码强度被认为足以与 password_hash 函数一起使用?

据我了解,新PHPpasswordhashingextension最重要的功能之一(或一般的bcrypt)是算法的速度,它大大减慢了暴力攻击方法。但它仍然以一定的速度运行,这对于字典攻击和暴力破解弱密码来说肯定足够了,[据说]短于六个字母数字字符。所以我想知道,它为什么这么慢,尤其是-哪种密码强度被认为可以安全使用。“你能想象的那么强大”不是答案,因为密码强度始终是安全性和可用性之间的权衡——所以,我正在寻找可以被认为是安全的,甚至是面向future的最小强度。请注意,我是一个实践者-因此,基于具体数字的确定答案比冗长而空洞的理论推理和不确定的结论更可取。进一步澄清,假设最坏的情况:用

php - call_user_func_array 与 call_user_func

我今天遇到了一个有趣的问题。我们有一个利用ZendFrameworks缓存功能的应用程序。对此应用程序的请求通常使用以下行调用工厂方法$result=call_user_func_array(array("myclass","factory"),array($id));我们的想法是从工厂方法返回一个我们可以稍后访问的对象。当我们实现缓存功能时,这个调用就结束了。没有错误,只是白屏。错误日志中没有任何内容。我们可以在ok之前记录行错误,但是在工厂方法中尝试error_log什么都不做。有趣的是,将行更改为:$result=call_user_func(array("myclass","f

php - __callStatic()、call_user_func_array()、引用资料和 PHP 5.3.1

我一直在阅读关于SO和其他地方的文章,但是我似乎找不到任何结论。有没有什么方法可以有效地通过这个调用堆栈传递引用,从而产生下面示例中描述的所需功能?虽然这个例子并没有试图解决它,但它确实说明了问题:classTestClass{//surely__callwouldresultsimilarlypublicstaticfunction__callStatic($function,$arguments){returncall_user_func_array($function,$arguments);}}//noteargumentbyreferencefunctiontestFunct

mysqli - php5.3 - mysqli_stmt :bind_params with call_user_func_array warnings

这个问题在这里已经有了答案:关闭10年前。PossibleDuplicate:Isitpossibletopassparametersbyreferenceusingcall_user_func_array()?我有以下代码行在PHP5.1中有效,但在PHP5.3中无效。$input=array('ss','john','programmer');call_user_func_array(array($mysqli_stmt,'bind_param'),$input);在PHP5.3中,我收到以下警告消息:Warning:Parameter2tomysqli_stmt::bind_pa

php - Laravel 中的 Bcrypt 与 Hash

我想创建一个函数或类似Cron的东西来执行一个链接(在Laravel中),带有类似密码的东西。我有两个解决方案。但是哪个更好用:选项1(哈希):选项2(加密):此代码已被广泛描述。更好用我的意思是更安全/更安全,或者那种恍惚中的东西。谢谢! 最佳答案 您的第二个选项不是bcrypt。Laravel的Crypt类使用AES加密。如前所述inthedocumentation:LaravelprovidesfacilitiesforstrongAESencryptionviatheMcryptPHPextension.据我所知,您无需能够

php - 为什么 PHP 的 call_user_func() 函数不支持引用传递?

为什么像call_user_func()这样的函数处理函数不支持通过引用传递参数?docs说一些简洁的话,比如“注意call_user_func()的参数不是通过引用传递的。”我假设PHP开发人员出于某种原因在这种情况下禁用了该功能。他们是否面临技术限制?这是语言设计的选择吗?这是怎么发生的?编辑:为了说明这一点,这里有一个例子。这是正常运作的;call_user_func不通过​​引用传递$count,即使more()将其声明为引用变量。call_user_funcdocumentation明确表示这是它应该的工作方式。我很清楚我可以通过使用call_user_func_array(

php - 使用 password_hash 时生成的哈希的最大长度?

我在用password_hash($password,PASSWORD_BCRYPT);加密密码以存储在数据库中。正如我所读,生成的哈希值没有长度限制,但我需要知道最大长度,以便我可以使用它来定义我的数据库中可以适合所有密码哈希值的字段(在最坏的情况下)。如果我将明文密码的长度限制为20个字符,password_hash()结果会是多长时间? 最佳答案 来自password_hashdocumentation:Thefollowingalgorithmsarecurrentlysupported:PASSWORD_DEFAULT-U

php - 将 password_hash 与 unicode 字符一起使用是否安全?

将password_hash与以下unicode字符一起使用是否安全,或者存在不兼容问题? 最佳答案 正如Mark评论的那样,哈希算法本身对字节起作用,因此它们是unicode安全的。唯一的问题可能是PHP对unicode字符串的处理,即密码散列函数binary-safe?让我们测试一下并找出答案:结果:Pass:100Fail:0你的问题的答案是是的,它是安全的。 关于php-将password_hash与unicode字符一起使用是否安全?,我们在StackOverflow上找到一个

php - 将 md5 密码哈希值转换为 PHP 5.5 password_hash()

PHP5.5中新的password_hashAPI非常好,我想开始在任何地方使用它。给定一个包含旧数据库的旧项目,其中密码存储在md5哈希中,将旧用户密码迁移到新的、更安全的API的最佳方法是什么?除了简单地提示用户在下次登录时重设密码(这对用户来说是不切实际且烦人的)之外,我还考虑过使用当前md5哈希作为我所有现有用户的password_hash()输入的可能性。为了验证这些用户的密码(在登录期间),我会将他们的输入转换为md5散列,然后将其用于password_verify()。新用户可以省去这个额外的步骤。这样做值得吗?有没有更好的透明迁移方法,用户不会因为密码重置而烦恼,但我可