discourse/lib/pbkdf2.rb
David Taylor d3e5251704
PERF: Use OpenSSL::KDF for Pbkdf2 implementation (#20982)
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