sodium_memcmp

定数時間での文字列の比較

説明

int sodium_memcmp(#[\SensitiveParameter]string $string1, #[\SensitiveParameter]string $string2)

ふたつの文字列を、定数時間で比較します。

実際、ほとんどの場合は hash_equals を使いたいかもしれません。 なぜなら、同じロジックを提供しているにもかかわらず、 整数型ではなく、bool を返すからです。 しかしながら、タイミング攻撃に敏感な比較計算の結果を扱う場合、 かつ、bool値から整数型への変換の際の、 タイミングに依存した情報のリークを気にする場合、 sodium_memcmp 関数が理想的な代替になります。

パラメータ

string1

比較対象の文字列

string2

もう一つの、比較する文字列

戻り値

双方の文字列が等しければ 0 を返します。 等しくない場合 -1 を返します。