时序攻击
在 php 中比较字符串相等时如果使用双等 == 可能会有时序攻击的危险.
比如比较
"abscdd" == $request->code
那么两个字符串是从第一位开始逐一进行比较的,发现不同就立即返回 false,那么通过计算返回的速度就知道了大概是哪一位开始不同的,这样就可以按位破解。
而使用 hash_equals 比较两个字符串,无论字符串是否相等,函数的时间消耗是恒定的,这样可以有效的防止时序攻击。
hash_equals('abscdd',$request->code)
参考
本文讲解了在PHP中使用双等于运算符进行字符串比较时可能存在的时序攻击风险,并介绍了如何利用hash_equals函数来有效防御此类攻击,确保比较操作的时间消耗保持恒定。
874

被折叠的 条评论
为什么被折叠?



