Sha256: 011de1e9046561fdadc6ee3e6d50c40f6b6c8a1b4c5d3bed3ce6a239f3436de4
Contents?: true
Size: 653 Bytes
Versions: 1
Compression:
Stored size: 653 Bytes
Contents
# frozen_string_literal: true module Aikotoba class Account::Password LENGTH_RENGE = Aikotoba.password_length_range def initialize( value:, pepper: Aikotoba.password_pepper, algorithm_class: Argon2 ) @value = value @pepper = pepper @algorithm = algorithm_class.new(password: password_with_pepper(@value)) end attr_reader :value def match?(digest:) @algorithm.verify_password?(digest) end def digest return "" if value.blank? @algorithm.generate_hash end private def password_with_pepper(password) "#{password}-#{@pepper}" end end end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
aikotoba-0.1.1 | app/models/aikotoba/account/password.rb |