class Argon2::Password
def initialize(options = {})
def initialize(options = {}) @t_cost = options[:t_cost] || 2 raise ArgonHashFail, "Invalid t_cost" if @t_cost < 1 || @t_cost > 750 @m_cost = options[:m_cost] || 16 raise ArgonHashFail, "Invalid m_cost" if @m_cost < 1 || @m_cost > 31 @p_cost = options[:p_cost] || 1 raise ArgonHashFail, "Invalid p_cost" if @p_cost < 1 || @p_cost > 8 @salt_do_not_supply = options[:salt_do_not_supply] @secret = options[:secret] end