instance method
fixed_length_secure_compare
Ruby on Rails 5.2.8.1
Since v5.2.8.1 PrivateSignature
fixed_length_secure_compare(a, b)
Constant time string comparison, for fixed length strings.
The values compared should be of fixed length, such as strings that have already been processed by HMAC. Raises in case of length mismatch.
Parameters
-
areq -
breq
Source
# File activesupport/lib/active_support/security_utils.rb, line 11
def fixed_length_secure_compare(a, b)
raise ArgumentError, "string length mismatch." unless a.bytesize == b.bytesize
l = a.unpack "C#{a.bytesize}"
res = 0
b.each_byte { |byte| res |= byte ^ l.shift }
res == 0
end
Defined in activesupport/lib/active_support/security_utils.rb line 11
· View on GitHub
· Improve this page
· Find usages on GitHub
Defined in ActiveSupport::SecurityUtils