美文网首页php
hash_equals 防止时序攻击的字符串比较

hash_equals 防止时序攻击的字符串比较

作者: 足迹人生2017 | 来源:发表于2018-07-19 08:47 被阅读28次

hash_equals 是可防止时序攻击的字符串比较,那么什么是时序攻击呢?比如这段代码我们使用

$verifyData['code'] == $request->verification_code

进行比较,那么两个字符串是从第一位开始逐一进行比较的,发现不同就立即返回 false,那么通过计算返回的速度就知道了大概是哪一位开始不同的,这样就实现了电影中经常出现的按位破解密码的场景。而使用 hash_equals 比较两个字符串,无论字符串是否相等,函数的时间消耗是恒定的,这样可以有效的防止时序攻击。

hash_equals($verifyData['code'], $request->verification_code)

相关文章

网友评论

    本文标题:hash_equals 防止时序攻击的字符串比较

    本文链接:https://www.haomeiwen.com/subject/xbezpftx.html