在我看來,這個函式和 hash_equals() 函式做的事情是一樣的。 hash_equals() 實際上和雜湊沒有關係,它只是一個恆定時間的字串相等性檢查函式,顯然和 sodium_memcmp() 一樣
(PHP 7 >= 7.2.0, PHP 8)
sodium_memcmp — 在恆定時間內測試相等性
在恆定時間內比較兩個字串。
實際上,您幾乎總是想使用 hash_equals() 來代替,因為它提供了相同的邏輯,但會返回 布林值 而不是 整數。但是,如果您在時間敏感的計算中使用比較的回傳值,並且擔心布林值到整數轉換的時間洩漏,sodium_memcmp() 是一個理想的替代方案。
string1
要比較的字串
string2
另一個要比較的字串
如果兩個字串相等則回傳 0
;否則回傳 -1
。
在我看來,這個函式和 hash_equals() 函式做的事情是一樣的。 hash_equals() 實際上和雜湊沒有關係,它只是一個恆定時間的字串相等性檢查函式,顯然和 sodium_memcmp() 一樣