class MultiPassword::Strategies::Argon2
Public Instance Methods
create(password, options = {})
click to toggle source
# File lib/multi_password/strategies/argon2.rb, line 11 def create(password, options = {}) ::Argon2::Password.new(validate_options(options)).create(password) end
validate_options(options)
click to toggle source
# File lib/multi_password/strategies/argon2.rb, line 19 def validate_options(options) return options if options.empty? t_cost = options[:t_cost] m_cost = options[:m_cost] if t_cost && (!t_cost.is_a?(Integer) || t_cost < 1 || t_cost > 750) raise InvalidOptions.new('argon2', 't_cost must be an integer between 1 and 750') end if m_cost && (!m_cost.is_a?(Integer) || m_cost < 1 || m_cost > 31) raise InvalidOptions.new('argon2', 'm_cost must be an integer between 1 and 31') end options end
verify(password, encrypted_password)
click to toggle source
# File lib/multi_password/strategies/argon2.rb, line 15 def verify(password, encrypted_password) ::Argon2::Password.verify_password(password, encrypted_password) end