在我看来,此函数与 hash_equals() 函数的作用相同。hash_equals() 与哈希实际上无关,它只是一个恒定时间字符串相等性检查函数,显然与 sodium_memcmp() 一样。
(PHP 7 >= 7.2.0, PHP 8)
sodium_memcmp — 在恒定时间内测试相等性
在恒定时间内比较两个字符串。
实际上,您几乎总是想使用 hash_equals(),因为它提供相同的逻辑,但返回 bool 而不是 int。但是,如果您在时间敏感的计算中使用比较的返回值,并且担心 bool 到 int 转换的定时泄漏,sodium_memcmp() 是一个理想的替代品。
string1
要比较的字符串
string2
要比较的另一个字符串
如果两个字符串相等,则返回 0
;否则返回 -1
。
在我看来,此函数与 hash_equals() 函数的作用相同。hash_equals() 与哈希实际上无关,它只是一个恒定时间字符串相等性检查函数,显然与 sodium_memcmp() 一样。