discourse/lib/pbkdf2.rb
David Taylor d3e5251704
PERF: Use OpenSSL::KDF for Pbkdf2 implementation ()
This was introduced to the standard library in Ruby 2.4. In my testing, it produces the same result, and is around 8x faster than our pure-ruby implementation
2023-04-05 17:00:05 +01:00

14 lines
300 B
Ruby

# frozen_string_literal: true
class Pbkdf2
def self.hash_password(password, salt, iterations, algorithm = "sha256", length: 32)
OpenSSL::KDF.pbkdf2_hmac(
password,
salt: salt,
iterations: iterations,
length: length,
hash: algorithm,
).unpack1("H*")
end
end