Ruby 4.0 リファレンスマニュアル

module function OpenSSL?.fixed_length_secure_compare

fixed_length_secure_compare(string1, string2) -> boolRuby 3.0 から[permalink][rdoc][edit]

長さの等しい文字列同士を、一定時間で比較します。OpenSSL::HMAC の計算結果同士の比較など、固定長の値を比較する場合に向いています。

比較にかかる時間が入力の値に依存しないようになっているため、比較結果の違いにかかる時間差から内容を推測するタイミング攻撃を防げます。

string1 と string2 が同じ内容であれば true を、長さが等しく内容が異なる場合は false を返します。

[PARAM] string1:
比較する文字列
[PARAM] string2:
比較する文字列
[EXCEPTION] ArgumentError:
string1 と string2 の長さが異なる場合に発生します